30 bash script Vprašanja in odgovori na razgovor

30 Bash Script Interview Questions



Bash skriptiranje je zelo uporaben in zmogljiv programski jezik, ki se uporablja predvsem za avtomatizacijo vseh ročnih nalog. Iskalec zaposlitve, ki želi biti preizkuševalec avtomatizacije ali programer bash, se mora v intervjuju soočiti z nekaterimi pogostimi vprašanji. V Linuxu obstajajo različne vrste skriptov lupine. Eden izmed priljubljenih in najpogosteje uporabljenih skriptov lupine je Bourne Again Shell ali Bash. V tem članku je opisanih 30 pomembnih vprašanj in odgovorov na skriptni jezik bash za pripravo na delo.

#01. Kaj je bash skript?

Skript bash je programski jezik lupine. Na splošno iz terminala izvajamo številne vrste ukazov lupine tako, da vsak ukaz vnesemo ločeno, kar zahteva čas in trud. Če moramo znova zagnati iste ukaze, moramo znova izvesti vse ukaze s terminala. Toda z bash skriptom lahko v eno datoteko bash shranimo veliko stavkov ukazov lupine in datoteko kadar koli izvedemo z enim ukazom. Številne naloge, povezane s sistemsko administracijo, namestitev programa, varnostno kopiranje diska, ocenjevanje dnevnikov itd. Je mogoče izvesti z uporabo ustreznega skripta bash.







#02. Kakšne so prednosti uporabe bash skript?

Bash skript ima številne prednosti, ki so opisane spodaj:



  • Je enostaven za uporabo in učenje.
  • Mnoga ročna opravila, ki jih je treba pogosto izvajati, je mogoče samodejno opraviti s pisanjem bash skripta.
  • Zaporedje več ukazov lupine se lahko izvede z enim ukazom.
  • Bash skript, napisan v enem operacijskem sistemu Linux, se lahko enostavno izvede v drugem operacijskem sistemu Linux. Torej je prenosna.
  • Odpravljanje napak v bash je lažje kot drugi programski jeziki.
  • Sintaksa ukazne vrstice in ukazi, ki se uporabljajo v terminalu, so podobni ukazom in skladnji, ki se uporabljajo v bash skriptu.
  • Bash skript lahko uporabite za povezavo z drugimi datotekami skriptov.

#03. Omenite slabosti skriptov bash

Spodaj so navedene nekatere pomanjkljivosti bash skripta:



  • Deluje počasneje kot drugi jeziki.
  • Neustrezen skript lahko poškoduje celoten postopek in povzroči zapleteno napako.
  • Ni primeren za razvoj velike in zapletene aplikacije.
  • Vsebuje manj podatkovne strukture v primerjavi z drugimi standardnimi programskimi jeziki.

#04. Katere vrste spremenljivk se uporabljajo v bash?

V bash skriptu lahko uporabite dve vrsti spremenljivk. To so:

Sistemske spremenljivke
Spremenljivke, ki jih operacijski sistem Linux vnaprej določi in vzdržuje, se imenujejo sistemske spremenljivke. Te vrste spremenljivk se vedno uporabljajo z veliko črko. Privzete vrednosti teh spremenljivk se lahko spremenijo glede na zahteve.

`set`,` env` in ` printenv Ukazi se lahko uporabijo za tiskanje seznama sistemskih spremenljivk.

Primer:





#!/bin/bash
# Tiskalne sistemske spremenljivke

#Print Bash ime lupine
vrgel ven $ BASH

# Različica lupine Print Bash
vrgel ven BASH_VERSION USD

# Natisnite ime domačega imenika
vrgel ven $ HOME

Uporabniško definirana spremenljivka

Spremenljivke, ki jih ustvarijo in vzdržujejo uporabniki, se imenujejo spremenljivke, ki jih definirajo uporabniki. Imenujejo jih tudi lokalne spremenljivke. Te vrste spremenljivk je mogoče razglasiti z uporabo malih ali velikih črk ali velikih in malih črk. Vendar se je bolje izogniti uporabi vseh velikih črk za razlikovanje spremenljivk od sistemskih spremenljivk.
Primer:

#!/bin/bash

na enem=100
vrgel ven $ št

#05. Kako razglasiti in izbrisati spremenljivke v bash?

Spremenljivko je mogoče razglasiti v bash po podatkovnem tipu ali brez podatkovnega tipa. Če je katera koli spremenljivka bash deklarirana brez izjaviti ukaz, potem bo spremenljivka obravnavana kot niz. Bash spremenljivka je deklarirana z izjaviti ukaz za določitev podatkovnega tipa spremenljivke pri deklaraciji časa.



–R , -i, -a, -A, -l, -u, -t in –X možnosti je mogoče uporabiti z izjaviti ukaz za razglasitev spremenljivke z različnimi tipi podatkov.

Primer:

#!/bin/bash

#Razglasi spremenljivko brez kakršne koli vrste
na enem=10

#Vrednosti bodo združene, vendar ne dodane
rezultat=$ št+dvajset
vrgel ven $ rezultat

#Declare spremenljivka z vrsto celega števila
izjaviti -jaz na enem=10

#Vrednosti bodo dodane
izjaviti -jaz rezultat= število+dvajset
vrgel ven $ rezultat

nenastavljeno ukaz se uporablja za odstranitev katere koli spremenljivke bash. Spremenljivka bo po uporabi nedostopna ali nedefinirana nenastavljeno ukaz.

Primer:

#!/bin/bash

str='Namig za Linux'
vrgel ven $ str
nenastavljeno $ str
vrgel ven $ str

#06. Kako dodati komentarje v bash skript?

Enovrstične in večvrstične komentarje lahko uporabite v bash skriptu. ' # 'Simbol se uporablja za enovrstični komentar. '<<’ simbol z ločilnikom in ':' z enim (‘) se uporabljajo za dodajanje večvrstičnega komentarja.

Primer:

#!/bin/bash
#Natisnite besedilo [Komentar v eni vrstici]
vrgel ven 'Bash programiranje'
< Izračunajte vsoto
Od dveh številk [večvrstični komentar]
dodatek

na enem=25+35
vrgel ven $ št
:'
Združite dva
Podatkovni niz [večvrstični komentar]
'

Vrvica='Zdravo'
vrgel ven $ string'Svet'

#07. Kako lahko združite nize v bash skriptu?

Vrednosti niza je mogoče kombinirati v bash na različne načine. Običajno se vrednosti niza združijo tako, da se združijo, vendar obstajajo drugi načini združevanja podatkov niza v bashu.

Primer:

#!/bin/bash
#Inicializirajte spremenljivke
str1='PHP'
str2='Bash'
str3='Perl'

# Natisnite niz skupaj s presledkom
vrgel ven $ str1 $ str2 $ str3

#Združite vse spremenljivke in shranite v drugo spremenljivko
str='$ str1,$ str2in$ str3'

#Združite druge podatke niza z obstoječo vrednostjo niza
str + ='so skriptni jeziki'

#Natisnite niz
vrgel ven $ str

#08. Kateri ukazi se uporabljajo za tiskanje izpisa v bash?

`echo` in `printf` ukaze lahko uporabite za tiskanje izpisa v bash. `echo ukaz se uporablja za tiskanje preprostega izpisa in `printf` ukaz se uporablja za tiskanje oblikovanega izhoda.

Primer:

#!/bin/bash

#Natisnite besedilo
vrgel ven 'Dobrodošli v LinuxHintu'
spletnem mestu='linuxhint.com'
#Natisnite oblikovano besedilo
printf '%s je priljubljeno spletno mesto za blog n' $ spletno mesto

#09. Kako sprejeti vnos iz terminala v bash?

`preberi` ukaz se uporablja v bash skriptu za prevzem vnosa iz terminala.

Primer:

#!/bin/bash
#Natisni sporočilo
vrgel ven 'Vnesite svoje ime'
#Vzemite vnos od uporabnika
prebratiime
# Natisnite vrednost $ name z drugim nizom
vrgel ven 'Tvoje ime je$ name'

#10. Kako uporabiti argumente ukazne vrstice v bash?

Argumente ukazne vrstice bere $ 1, $ 2, $ 3 ... $ n spremenljivke. Vrednosti ukazne vrstice so podane v terminalu pri izvajanju bash skripta. 1 USD se uporablja za branje prvega argumenta, 2 USD se uporablja za branje drugega argumenta itd.

Primer:

#!/bin/bash
#Preverite, ali je argument naveden ali ne
če [[ # USD -ekv 0 ]];potem
vrgel ven 'Ni argumenta.'
izhod 0
biti
#Shrani vrednost prvega argumenta
barvo=1 USD
# Natisnite argument z drugim nizom
printf 'Vaša najljubša barva je %s n' $ barva

#11. Je bash šibko tipkan jezik? Zakaj?

Da, bash velja za šibko ali ohlapno tipkan jezik, ker ne zahteva deklariranja vrste podatkov v času deklaracije spremenljivke. Vse spremenljivke bash se privzeto obravnavajo kot niz, vrsta spremenljivke pa bo nastavljena glede na trenutno vrednost. Bash spremenljivke s podatkovnimi tipi je mogoče definirati z uporabo izjaviti ukaz z določeno možnostjo. Možnosti za določanje podatkovnih tipov so omejene in ne podpirajo vseh vrst podatkov. Na primer, plavati podatkovnega tipa ni mogoče razglasiti z uporabo izjaviti ukaz.

Primer:

#!/bin/bash

#Podatkovni tip $ myVar je privzeto niz
myVar=29

# Natisnite spremenljivko
vrgel ven $ myVar

# Razglasite celoštevilsko spremenljivko $ number z vrednostjo 67
izjaviti -jaz številko=67

#Natisnite spremenljivko
vrgel ven $ number

# Dodelite podatke niza številčni spremenljivki. Naslednja vrstica bo ustvarila
# sintaktična napaka in vrednost $ number se ne bo spremenila
številko='Rad imam bash'
vrgel ven $ number

#12. Kako prebrati drugo besedo ali stolpec iz vsake vrstice datoteke?

Drugo besedo ali stolpec datoteke lahko preberete v bash skriptu z enostavno uporabo različnih ukazov bash, na primer `awk`,` sed` itd. Tukaj je uporaba `awk` je prikazano v naslednjem primeru.
Primer: Recimo, da datoteka course.txt vsebuje naslednjo vsebino in da smo natisnili samo drugo besedo vsake vrstice te datoteke.

Programiranje Java CSE201
CSE303 Struktura podatkov
CSE408 Unix programiranje#!/bin/bash
# Naslednji skript bo natisnil drugo besedo vsake vrstice iz datoteke course.txt.
# izhod ukaza cat bo prešel v ukaz awk, ki bo prebral drugo besedo
# vsake vrstice.
vrgel ven ''mačkacourse.txt| awk '{print $ 2}'''

#13. Kako v bash razglasiti in dostopati do spremenljivke polja?

Številčne in asociativne matrike podpira bash skript. Spremenljivko niza je mogoče razglasiti z ukazom deklariranje in brez njega. -za možnost se uporablja z ukazom declare za določitev številske matrike in -TO možnost se uporablja z deklariranim stavkom za definiranje asociativne matrike v bash. Brez ukaza command lahko številčno matriko definirate samo v bash.

Primer:

#!/bin/bash

# Razglasite preprosto številčno matriko
arr1=(CodeIgniter Laravel ReactJS)

# Natisnite vrednost prvega elementa $ arr1
vrgel ven $ {arr1 [0] {

# Razglasite številsko polje z ukazom declare
izjaviti -za arr2=(HTML CSS JavaScript)

# Natisnite vrednost drugega elementa $ arr2
vrgel ven $ {arr2 [1]}

# Deklarirajte asociativno matriko z uporabo stavka Declare
izjaviti -TO arr3=( [okvir]= Laravel[CMS]= Wordpress[Knjižnica]= JQuery)

# Natisnite vrednost tretjega elementa $ arr3
vrgel ven $ {arr3 [Library]}

Do vseh elementov matrike lahko dostopate z uporabo katere koli zanke ali simbola '*' kot indeksa matrike.

#14. Kako je mogoče uporabiti pogojne stavke v bash?

Najpogostejši pogojni stavek v večini programskih jezikov je if-elseif-else izjavo. Sintaksa jezika if-elseif-else stavek v bash se nekoliko razlikuje od drugih programskih jezikov. 'Če' stavek lahko razglasimo na dva načina v bash skriptu in vseh vrstah 'Če' blok je treba zapreti z 'biti' . 'Če' stavek lahko definiramo s tretjimi oklepaji ali prvimi oklepaji, tako kot drugi programski jeziki.

Sintaksa:
TO.

če [stanje];
potem
izjave
biti

B.

če [stanje];potem
izjave1
drugače
izjavo2
biti

C.

če [stanje];potem
izjavo1
elif[stanje];potem
izjavo2
….
drugače
izjava n
biti

Primer:

#!/bin/bash

# Dodelite vrednost $ n
n=30
# Preverite, ali je $ n večje od 100 ali ne
če [ $ n -gt 100 ];potem
vrgel ven '$ nje manj kot 100 '
# Preverite $ n id večji od 50 ali ne
elif [ $ n -gt petdeset ];potem
vrgel ven '$ nje manj kot 50 '
drugače
vrgel ven '$ nje manj kot 50 '
biti

#15. Kako primerjati vrednosti v bashu?

Za primerjavo vrednosti lahko v bashu uporabite šest vrst operaterjev za primerjavo. Obstajata dva načina uporabe teh operaterjev v bashu, odvisno od vrste podatkov. Ti so omenjeni spodaj.

Primerjava nizov Integer Comarison Opis
== -ekv Uporablja se za preverjanje enakosti
! = -Rojen Uporablja se za preverjanje neenakosti
< -l Uporablja se, če je prva vrednost manjša od druge ali ne
> -gt Uporablja se, če je prva vrednost večja od druge ali ne
<= - Uporablja se, če je prva vrednost manjša ali enaka drugi vrednosti ali ne
> = -daj Uporablja se, če je prva vrednost večja ali enaka drugi vrednosti ali ne

Primer:

#!/bin/bash
# Inicializirajte $ n
n=130
ali='celo'
# Preverite, ali je $ n večje ali enako 100 ali ne uporabljate '–ge'.
če [ $ n -daj 100 ];potem
vrgel ven '$ nje večji ali enak 100 '
drugače
vrgel ven '$ nje manj kot 100 '
biti
# Preverite $ n sodo ali liho z operaterjem '=='
če (( $ o=='celo' ));potem
vrgel ven 'Število je sodo'
drugače
vrgel ven 'Število je čudno'
biti

#16. Kateri pogojni stavek se lahko uporabi kot alternativa izjavam if-elseif-else v bash?

'Ovitek' stavek lahko uporabimo kot alternativo tp if-elseif-if izjavo. Sintaksa za 'Ovitek' stavek v bash skriptah se razlikuje od stikalna omarica izjavo drugih programskih jezikov. 'Ovitek' blok je zaprt z 'Esac' izjava v bash. Ne ' prekiniti 'Stavek se uporablja znotraj' Ovitek ‘Blok za prekinitev iz bloka.

Sintaksa:

Ovitek v
Vzorec ujemanja1)ukaze;;
Vzorec ujemanja2)ukaze;;
……
Vzorec ujemanja n)ukaze;;
esac

Primer:

#!/bin/bash
#Inicializirajte spremenljivko $ ticket
vstopnica=101
# Primerjajte vrednost $ ticket z 23, 101 in 503
Ovitek $ vstopnica v
2. 3)
# Natisnite sporočilo, če je vrednost 23
vrgel ven 'Dobil si prvo nagrado';;
101)
# Natisnite sporočilo, če je vrednost 101
vrgel ven 'Dobili ste drugo nagrado';;
503)
# Natisnite sporočilo, če je vrednost 503
vrgel ven 'Dobili ste tretjo nagrado';;
*)
# Natisnite sporočilo, če se vrednost ne ujema z 23, 101 in 503
vrgel ven 'Oprosti, poskusi naslednjič'
izhod 0;;
esac

#17. Katere različne vrste zank je mogoče uporabiti v bash?

Bash skript podpira tri vrste zank. To so medtem, za in dokler zanke. Zanke v bashu preverijo stanje na začetku zanke. Medtem zanka deluje, dokler pogoj ne ostane res in dokler zanka deluje, dokler pogoj ne ostane napačen. Obstajata dva načina uporabe za zanka. Eden je splošen za zanka, ki vsebuje tri dele, drugi pa je za-v zanka. Uporaba teh treh zank je prikazana v naslednjem primeru.

Primer:

#!/bin/bash
# Inicializirajte $ n
n=5
# Izračunajte kvadrat 5-1 z zanko while
medtem [ $ n -gt 0 ]
naredi
sqr= $((n*n))
vrgel ven 'Kvadrat$ nje$ sqr'
((n--))
Končano

# Izračunajte kvadrat 5-1 z uporabo zanke for
za (( jaz=5; jaz>0; jaz--))
naredi
sqr= $((jaz*jaz))
vrgel ven 'Kvadrat$ ije$ sqr'
Končano

# Inicializirajte $ x
x=5

# Izračunajte kvadrat 5-1 s pomočjo zanke
dokler [ $ x - 0 ]
naredi
sqr= $((x*x))
vrgel ven 'Kvadrat$ xje$ sqr'
((x--))
Končano

#18. Kako je mogoče podprograme razglasiti in poklicati v bash?

V bashu se funkcija ali postopek imenuje podprogram. Izjava in klic podprograma v bashu se razlikuje od drugih jezikov. Za razliko od drugih standardnih programskih jezikov v podprogramih ni mogoče razglasiti nobenega argumenta. Lokalne spremenljivke pa lahko znotraj podprograma definiramo s pomočjo 'lokalno' ključna beseda.

Primer:

#!/bin/bash
# Inicializirajte spremenljivki $ x in $ y, ki sta globalni
x=10
in=35

# Razglasite funkcijo
myFunc() {
# Razglasite lokalno spremenljivko $ x
lokalno x=petnajst

# Ponovno dodelite globalno spremenljivko $ y
in=25

# Izračunajte vsoto $ x in $ y
Z= $((x + y))

# Natisnite vsoto lokalne spremenljivke $ x in globalne spremenljivke $ y
vrgel ven 'Vsota$ xin$ yenako$ z'
}

# Pokličite funkcijo
myFunc

# Natisnite vsoto globalnih spremenljivk, $ x in $ y
vrgel ven 'Vsota$ xin$ yenako$ z'

#19. Kako izrezati in natisniti del podatkov o nizu v bashu?

Bash nima vgrajene funkcije kot drugi jeziki, ki bi odrezala del podatkov o nizu. Toda z razširitvijo parametrov lahko poljubno vrednost niza izrežemo v bash. V razširitvi parametrov lahko ločite tri dele z ločitvijo z dvopičjem, da izrežete kateri koli del podatkov niza. Tukaj sta prva dva dela obvezna, zadnji del pa neobvezen. Prvi del vsebuje glavno spremenljivko niza, ki bo uporabljena za rezanje, drugi del je začetni položaj, od koder se bo niz prerezal, tretji del pa je dolžina rezalnega niza. Začetni položaj je treba šteti od 0, dolžina pa od 1 glavnega niza, da se pridobi vrednost rezanja.

Primer:

#!/bin/bash
# Vrednost niza inicializirajte v $ string
vrvica='Skriptni jezik Python'
# Izrežite vrednost niza od položaja 7 do konca niza
vrgel ven $ {niz: 7}
# Izrežite vrednost niza 9 znakov s položaja 7
vrgel ven $ {string: 7: 9}
# Zmanjšajte vrednost niza s 17 na 20
vrgel ven $ {string: 17: -4}

#20. Ali omenjate nekaj načinov izvajanja aritmetičnih operacij v bashu?

Aritmetične operacije je mogoče izvajati na več načinov v bashu. 'Naj', 'izraz', 'bc' in dvojni oklepaji so najpogostejši načini izvajanja aritmetičnih operacij v bashu. Uporaba teh ukazov je prikazana v naslednjem primeru.

Primer:

#!/bin/bash
# Izračun odštevanja z uporabo izraz in razširitev parametrov
var1= $( ekspr 120-100 )
# natisni rezultat
vrgel ven $ var1
# Izračunajte dodatek z ukazom let
pustiti var2=200+300
# Natisnite rsult
vrgel ven $ var2
# Izračunajte in natisnite vrednost deljenja z uporabo 'bc', da dobite rezultat
# z delno vrednostjo
vrgel ven 'lestvica = 2; 44/7 ' | pr
# Izračunajte vrednost množenja z dvojnimi oklepaji
var3= $(( 5*3 ))
# Natisnite rezultat
vrgel ven $ var3

#21. Kako preveriti, da imenik obstaja ali ne uporablja bash?

Bash ima veliko testnih ukazov, s katerimi preveri, ali datoteka ali imenik obstaja ali ne, in vrsto datoteke. '-D' možnost se s potjo imenika uporablja kot pogojni stavek za preverjanje, ali imenik obstaja ali ne v bash. Če imenik obstaja, se bo vrnil true, sicer pa false.

Primer:

#!/bin/bash
# Dodelite imenik s potjo v spremenljivki, $ path
pot='/home/ubuntu/temp'
# Preverite, ali imenik obstaja ali ne
če [ -d '$ pot' ];potem
# Natisnite sporočilo, če imenik obstaja
vrgel ven 'Imenik obstaja'
drugače
# Natisnite sporočilo, če imenik ne obstaja
vrgel ven 'Imenik ne obstaja'
biti

#22. Kako je mogoče zaključiti bash skript brez izvajanja vseh stavkov?

Uporaba 'Izhod' ukaz, lahko bash skript prekinete brez izvajanja vseh stavkov. Naslednji skript bo preveril, ali določena datoteka obstaja ali ne. Če datoteka obstaja, bo natisnila skupne znake datoteke, če pa datoteka ne obstaja, bo skript zaključila s prikazom sporočila.

Primer:

#!/bin/bash

# Inicializirajte ime datoteke v spremenljivko $ filename
Ime datoteke='course.txt'

# Preverite, ali datoteka obstaja ali ne, z možnostjo -f
če [ -f '$ ime datoteke' ];potem
# Natisnite sporočilo, če datoteka obstaja
vrgel ven '$ ime datotekeobstaja '
drugače
# Natisnite sporočilo, če datoteka ne obstaja
vrgel ven '$ ime datotekene obstaja '
# Prekinite skript
izhod 1
biti

# Preštejte dolžino datoteke, če datoteka obstaja
dolžino=''stranišče -c $ ime datoteke''

# Natisnite dolžino datoteke
vrgel ven 'Skupaj znakov -$ dolžina'

#23. Kakšne so uporabe stavkov break in continue v bashu?

prekiniti stavek se uporablja za prekinitev iz zanke brez dokončanja celotne iteracije na podlagi pogoja in nadaljuj stavek se uporablja v zanki za opustitev nekaterih stavkov na podlagi pogoja. Uporaba prekiniti in nadaljuj izjave so razložene v naslednjem primeru.

Primer:

#!/bin/bash
# Inicializirajte spremenljivko $ i na 0 za zagon zanke
jaz=0
# zanka bo fot ponovil 10 -krat
medtem [ $ i - 10 ]
naredi
# Povečajte vrednost $ i za 1
((i ++))
# Če je vrednost $ i enaka 8, zaključite zanko z uporabo stavka 'break'
če [ $ i -ekv 8 ];potem
prekiniti;
biti
# Če je vrednost $ i večja od 6, izpustite zadnji stavek zanke
# z uporabo stavka continue
če [ $ i -daj 6 ];potem
nadaljuj;
biti
vrgel ven 'trenutna vrednost i =$ i'
Končano

# Natisnite vrednost $ i po zaključku zanke
vrgel ven 'Zdaj je vrednost i =$ i'

#24. Kako narediti datoteko bash izvedljivo?

Izvedljive datoteke bash lahko izdelate z uporabo 'Chmod' ukaz. Izvedljivo dovoljenje lahko nastavite z uporabo '+ X' v chmod ukaz z imenom datoteke skripta. Bash datoteke se lahko izvajajo brez izrecnega 'Bash' ukaz po nastavitvi izvedbenega bita za to datoteko.

Primer:

# Nastavite izvedbeni bit
$chmod+ x ime datoteke.sh

# Zaženite izvedljivo datoteko
$./filename.sh

#25. Navedite nekaj možnosti, ki se uporabljajo za testiranje datotek

V preskusni datoteki bash je na voljo veliko možnosti. Nekatere možnosti so navedene spodaj.

Možnost Opis
-f Uporablja se za preverjanje obstoja datoteke in je običajna datoteka.
-In Uporablja se samo za preverjanje, ali datoteka obstaja.
-r Uporablja se za preverjanje, ali datoteka obstaja in ima dovoljenje za branje.
-v Uporablja se za preverjanje obstoja datoteke in mora imeti dovoljenje za pisanje.
-x Uporablja se za preverjanje, ali datoteka obstaja in ima dovoljenje za izvedbo.
-d Uporablja se za preverjanje obstoja imenika.
-TI Uporablja se za preverjanje obstoja datoteke in je simbolna povezava.
-S Uporablja se za preverjanje, ali datoteka obstaja in je vtičnica.
-b Uporablja se za preverjanje, ali je datoteka blokovna naprava.
-s Uporablja se za preverjanje, da velikost datoteke ni nič.
-npr Včasih je preverjal, ali je vsebina prve datoteke novejša od druge. Na primer, file1 -nt file2 označuje, da je file1 novejša od file2.
-ot Uporabljalo se je za preverjanje, da je vsebina prve datoteke starejša od druge datoteke. Na primer, file1 -ot file2 označuje, da je file1 starejša od file2.
-ef Uporablja se za preverjanje, ali se dve trdi povezavi nanašata na isto datoteko. Na primer, flink1 -ef flink2 označuje, da sta flink1 in flink2 trdi povezavi in ​​se oba nanašata na isto datoteko.

#26. Kaj pomeni 'bc' in kako je mogoče ta ukaz uporabiti v bash?

Polna oblika 'bc' je Bash kalkulator za natančnejše aritmetične operacije v bash. Delni del se izpusti, če se z bash izvede kakšna aritmetična operacija v bash 'Izraz' ukaz. Delni del lahko zaokrožite tudi z uporabo lestvici vrednost z 'Bc' ukaz.

Primer:

#!/bin/bash
# Izračunajte delitev brez delne vrednosti
vrgel ven '39 / 7 ' | pr

# Izračunajte delitev s polno delno vrednostjo
vrgel ven '39 / 7 ' | pr -

# Izračunajte delitev s tremi številkami za decimalno vejico
vrgel ven 'lestvica = 3; 39/7 ' | pr

#27. Kako lahko natisnete določeno vrstico datoteke v bashu?

Obstaja veliko načinov za tiskanje določene vrstice v bashu. Kako 'awk', 'sed' in 'Rep' ukazi lahko uporabite za tiskanje določene vrstice datoteke v bash je prikazano v naslednjem primeru.

Primer:

#!/bin/bash

# Preberite in shranite prvo vrstico iz datoteke z ukazom `awk` s spremenljivko NR
vrstica1=''awk '{if (NR == 1) natisni $ 0}'course.txt''
# Natisnite vrstico
vrgel ven $ line1

# Preberite drugo vrstico iz datoteke z ukazom `sed` z možnostjo -n
vrstica 2=''sed -n2p course.txt''
# Natisnite vrstico
vrgel ven $ line2

# Preberite zadnjo vrstico iz datoteke z ukazom `tail` z možnostjo -n
vrstica3=''rep -n 1course.txt''
# Natisnite datoteko
vrgel ven $ line3

#28. Kaj je IFS?

IFS je posebna spremenljivka lupine. Polna oblika IFS je separator notranjega polja,
deluje kot ločilo, da loči besedo od vrstice besedila. Uporablja se predvsem za razdelitev niza, branje ukaza, zamenjavo besedila itd.

Primer:

#!/bin/bash
# Razglasi ':' kot ločilo za razdelitev besedila
IFS=':'
# Dodelite besedilne podatke z ':' v $ text
besedilo='Rdeča: zelena: modra'
# zanka bo prebrala vsako besedo, potem ko bo razdelila besedilo na podlagi IFS
zaurev $ besedilo;naredi
# Natisnite besedo
vrgel ven $ ur
Končano

#29. Kako ugotoviti dolžino podatkov niza?

'Expr', 'wc' in 'Awk' z ukazi lahko ugotovite dolžino podatkov niza v bash. 'Izraz' in 'Awk' uporabo ukazov dolžino možnost, 'Stranišče' ukaz uporablja '–C' možnost štetja dolžine niza.

Primer:

Uporaba zgornjih ukazov je prikazana v naslednjem skriptu.

#!/bin/bash
# Štejte dolžino z možnostjo dolžine 'ekspr'
vrgel ven ''eksprdolžino'Všeč mi je PHP'''
# Štejte dolžino z ukazom `wc`
vrgel ven 'Všeč mi je Bash' | stranišče -c
# Štejte dolžino z ukazom `awk`
vrgel ven 'Všeč mi je Python' | awk '{print length}'

#30. Kako vzporedno izvajati več bash skript?

Z uporabo lahko vzporedno izvedete več skriptov bash nohup ukaz. Kako je mogoče iz mape vzporedno izvajati več datotek bash, je prikazano v naslednjem primeru.

Primer:

# Dodelite ime mape s potjo v spremenljivki $ dir, ki vsebuje
# več datotek bash
tebi='home/Ubuntu/temp'

# zanka bo prebrala vsako datoteko iz imenika in se izvajala vzporedno
zaskriptvtebi/ *.sh
naredi
nohup bash '$ skript' &
Končano

Zaključek:

Večina osnovnih vprašanj za intervju z bash scenarijem je opisanih v tem članku za bralce, ki želijo začeti kariero kot programer bash.