30 bash -skripti Intervjuu küsimused ja vastused

30 Bash Script Interview Questions



Bash -skriptimine on väga kasulik ja võimas programmeerimiskeel, mida kasutatakse peamiselt käsitsi tehtavate ülesannete automatiseerimiseks. Tööotsija, kes soovib olla automaatikatestija või bash -programmeerija, peab intervjuus silmitsi seisma mõne levinud küsimusega. Linuxis on erinevat tüüpi kestaskripte. Üks populaarsemaid ja enim kasutatud shelliskripte on Bourne Again Shell või Bash. Selles artiklis kirjeldatakse 30 olulist intervjuuküsimust ja vastust bash -skriptikeele kohta, et seda tööd ette valmistada.

#01. Mis on bashi skript?

Bash -skript on shelli programmeerimiskeel. Üldiselt käivitame terminalist mitut tüüpi käsklusi, tippides iga käsu eraldi, mis nõuavad aega ja vaeva. Kui peame samu käske uuesti käivitama, peame kõik terminali käsud uuesti täitma. Kuid bash -skripti kasutades saame salvestada palju shelli käsulauseid ühte bash -faili ja käivitada faili igal ajal ühe käsuga. Paljusid süsteemihaldusega seotud ülesandeid, programmide installimist, ketta varundamist, logide hindamist jne saab teha, kasutades õiget bash -skripti.







#02. Millised on bash -skriptide kasutamise eelised?

Bash -skriptil on palju eeliseid, mida kirjeldatakse allpool:



  • Seda on lihtne kasutada ja õppida.
  • Paljusid käsitsi tehtavaid ülesandeid, mida tuleb sageli käivitada, saab teha automaatselt, kirjutades bash -skripti.
  • Mitme kesta käskude jada saab täita ühe käsuga.
  • Ühes Linuxi operatsioonisüsteemis kirjutatud Bash -skripti saab hõlpsasti täita teises Linuxi operatsioonisüsteemis. Niisiis, see on kaasaskantav.
  • Silumine bashis on lihtsam kui teistes programmeerimiskeeltes.
  • Käsurea süntaks ja terminalis kasutatavad käsud on sarnased bash-skriptis kasutatavate käskude ja süntaksitega.
  • Bash -skripti saab kasutada linkimiseks teiste skriptifailidega.

#03. Nimetage bash -skriptide puudusi

Allpool on toodud mõned bash -skripti puudused:



  • See töötab aeglasemalt kui teised keeled.
  • Ebaõige skript võib kahjustada kogu protsessi ja tekitada keerulise vea.
  • See ei sobi suure ja keeruka rakenduse arendamiseks.
  • See sisaldab vähem andmestruktuuri võrreldes teiste standardsete programmeerimiskeeltega.

#04. Mis tüüpi muutujaid bash -is kasutatakse?

Bash -skriptis saab kasutada kahte tüüpi muutujaid. Need on:

Süsteemi muutujad
Muutujaid, mis on Linuxi opsüsteemi poolt eelnevalt määratletud ja hooldatud, nimetatakse süsteemimuutujateks. Seda tüüpi muutujaid kasutatakse alati suurte tähtedega. Nende muutujate vaikeväärtusi saab vastavalt nõuetele muuta.

`set`,` env` ja ` printenv `käske saab kasutada süsteemimuutujate loendi printimiseks.

Näide:





#!/bin/bash
# Prindisüsteemi muutujad

#Print Bash kesta nimi
viskas välja $ BASH

# Print Bash shelli versioon
viskas välja $ BASH_VERSION

# Prindi kodukataloogi nimi
viskas välja $ HOME

Kasutaja määratud muutuja

Kasutajate loodud ja hooldatavaid muutujaid nimetatakse kasutaja määratud muutujateks. Neid nimetatakse ka kohalikeks muutujateks. Seda tüüpi muutujaid saab deklareerida väikeste või suurte tähtedega või nii suurte kui ka väikeste tähtedega. Kuid parem on vältida kõigi suurte tähtede kasutamist muutujate eristamiseks süsteemimuutujatest.
Näide:

#!/bin/bash

ühe peale=100
viskas välja $ num

#05. Kuidas deklareerida ja kustutada bashis muutujaid?

Muutuja saab deklareerida bash -tüüpi andmetüübi järgi või ilma andmetüübita. Kui mõni bash muutuja on deklareeritud ilma kuulutama käsku, käsitletakse muutujat stringina. Muutuja Bash deklareeritakse kuulutama käsk muutuja andmetüübi määramiseks aja deklareerimisel.



- r , -i, -a, -A, -l, -u, -t ja - X valikuid saab kasutada koos kuulutama käsk erinevate andmetüüpidega muutuja deklareerimiseks.

Näide:

#!/bin/bash

#Declare muutuja ilma tüübita
ühe peale=10

#Väärtused ühendatakse, kuid ei lisata
tulemus=$ num+kakskümmend
viskas välja $ tulemus

#Declare muutuja täisarvu tüübiga
kuulutama -mina ühe peale=10

#Väärtused lisatakse
kuulutama -mina tulemus= arv+kakskümmend
viskas välja $ tulemus

seadistamata käsku kasutatakse bash muutuja eemaldamiseks. Muutuja on pärast kasutamist ligipääsmatu või määratlemata seadistamata käsk.

Näide:

#!/bin/bash

lk='Linuxi vihje'
viskas välja $ str
seadistamata $ str
viskas välja $ str

#06. Kuidas lisada bash -skripti kommentaare?

Üherealisi ja mitmerealisi kommentaare saab bash-skriptis kasutada. ' # Sümbolit kasutatakse üherealiste kommentaaride jaoks. '<<’ eraldajaga sümbol ja ':' koos ühe (’) abil kasutatakse mitmerealise kommentaari lisamiseks.

Näide:

#!/bin/bash
#Printige tekst [Üherealine kommentaar]
viskas välja 'Bashi programmeerimine'
< Arvutage summa
Kahest numbrist [mitmerealine kommentaar]
Lisa kommentaar

ühe peale=25+35
viskas välja $ num
:'
Ühendage kaks
Stringiandmed [mitmerealine kommentaar]
'

String='Tere'
viskas välja $ string'Maailm'

#07. Kuidas saab bash -skriptis stringe ühendada?

Stringiväärtusi saab bash -is kombineerida erineval viisil. Tavaliselt ühendatakse stringide väärtused kokku pannes, kuid bash -is on stringi andmete kombineerimiseks ka teisi viise.

Näide:

#!/bin/bash
#Initsialiseeri muutujad
str1='PHP'
str2='Bash'
str3='Perl'

# Printige string koos tühikuga
viskas välja $ str1 $ str2 $ str3

#Kombineerige kõik muutujad ja salvestage need teise muutujaga
lk='$ str1,$ str2ja$ str3'

#Kombineerige stringi olemasoleva väärtusega muud stringi andmed
str + ='on skriptikeeled'

#Printige string
viskas välja $ str

#08. Milliseid käske kasutatakse bash -väljundi printimiseks?

`kaja` ja 'printf' käske saab kasutada bash -väljundi printimiseks. `kaja `käsku kasutatakse lihtsa väljundi printimiseks ja 'printf' vormindatud väljundi printimiseks kasutatakse käsku.

Näide:

#!/bin/bash

#Printige tekst
viskas välja 'Tere tulemast LinuxHint'i!'
saidil='linuxhint.com'
#Printige vormindatud tekst
printf '%s on populaarne ajaveebisait n' $ sait

#09. Kuidas bash -i terminalist sisendit võtta?

`loe` käsku kasutatakse bash -skriptis terminalilt sisendi saamiseks.

Näide:

#!/bin/bash
#Printige sõnum
viskas välja 'Sisestage oma nimi'
#Võtke kasutajalt sisend
loenimi
# Printige $ name väärtus muu stringi abil
viskas välja 'Sinu nimi on$ nimi'

#10. Kuidas kasutada käsurea argumente bashis?

Käsurea argumente loeb $ 1, $ 2, $ 3… $ n muutujad. Käsurea argumentide väärtused esitatakse terminalis bash-skripti täitmisel. $ 1 kasutatakse esimese argumendi lugemiseks, 2 dollarit kasutatakse teise argumendi lugemiseks ja nii edasi.

Näide:

#!/bin/bash
#Kontrollige, kas argument on esitatud või mitte
kui [[ $ # -ekv 0 ]];siis
viskas välja 'Argumente ei esitata.'
väljumine 0
olla
#Salvestage esimene argumendi väärtus
värvi=$ 1
# Printige argument teise stringiga
printf 'Sinu lemmikvärv on %s n' $ värvi

#11. Kas bash on nõrgalt trükitud keel? Miks?

Jah, bashi peetakse nõrgalt või lõdvalt trükitud keeleks, kuna see ei nõua andmete tüübi deklareerimist muutuva deklareerimise ajal. Kõiki bash -muutujaid käsitletakse vaikimisi stringina ja muutuja tüüp määratakse praeguse väärtuse alusel. Andmetüüpidega Bash -muutujaid saab määratleda, kasutades kuulutama käsk konkreetse valikuga. Kuid andmetüüpide määratlemise võimalused on piiratud ja ei toeta igat tüüpi andmeid. Näiteks, hõljuma andmetüüpi ei saa deklareerida, kasutades kuulutama käsk.

Näide:

#!/bin/bash

#Andmete tüüp $ myVar on vaikimisi string
myVar=29

# Printige muutuja
viskas välja $ myVar

# Kuulutage täisarvuline muutuja $ number väärtusega 67
kuulutama -mina number=67

#Printige muutuja
viskas välja $ number

# Määrake numbrilisele muutujale stringiandmed. Järgmine rida genereerib
# süntaksiviga ja $ number väärtus ei muutu
number='Mulle meeldib bash'
viskas välja $ number

#12. Kuidas lugeda faili igast reast teist sõna või veergu?

Faili teist sõna või veergu saab bash -skriptis lugeda, kasutades hõlpsalt erinevaid bash -käske, näiteks 'awk', 'sed' jne. Siin kasutatakse `awk` on näidatud järgmises näites.
Näide: Oletame, et fail course.txt sisaldab järgmist sisu ja me oleme selle faili iga rea ​​trükitud ainult teise sõna.

CSE201 Java programmeerimine
CSE303 andmestruktuur
CSE408 Unixi programmeerimine#!/bin/bash
# Järgmine skript prindib failist course.txt iga rea ​​teise sõna.
# kassi käsu väljund läheb käsule awk, mis loeb teise sõna
# igast reast.
viskas välja ''kassmuidugi.txt| awk „{print $ 2}”''

#13. Kuidas bassi massiivmuutuja deklareerida ja sellele juurde pääseda?

Nii numbrilisi kui ka assotsiatiivseid massiive toetab bash -skript. Massiivmuutuja saab deklareerida käsuga deklareerida ja ilma. -juurde suvandit kasutatakse koos deklareerimiskäsuga numbrilise massiivi määratlemiseks ja -TO suvandit kasutatakse deklaratsiooni avaldusega, et määratleda assotsiatiivne massiiv bash -is. Ilma deklareerimiskäsuta saab numbrimassiivi määratleda ainult bash -vormingus.

Näide:

#!/bin/bash

# Kuulutage lihtne numbrimassiiv
arr1=(CodeIgniter Laravel ReactJS)

# Printige elemendi $ arr1 esimene väärtus
viskas välja $ {arr1 [0] {

# Deklareerige numbrimassiiv, kasutades käsku deklareerida
kuulutama -juurde arr2=(HTML CSS JavaScript)

# Printige teise elemendi väärtus $ arr2
viskas välja $ {arr2 [1]} dollarit

# Deklareerige deklareeriva avalduse abil assotsiatiivne massiiv
kuulutama -TO arr3=( [raamistikku]= Laravel[CMS]= Wordpress[Raamatukogu]= JQuery)

# Printige kolmanda elemendi väärtus $ arr3
viskas välja $ {arr3 [kogu]}

Massiivi kõikidele elementidele pääseb juurde, kasutades massiiviindeksina ükskõik millist tsüklit või sümbolit „*”.

#14. Kuidas saab bash -is kasutada tingimuslauseid?

Enamikus programmeerimiskeeltes on kõige tavalisem tingimuslause if-elseif-else avaldus. Süntaks if-elseif-else avaldus bashis erineb teistest programmeerimiskeeltest pisut. 'Kui' avaldust saab deklareerida kahel viisil bash -skriptis ja igat tüüpi 'Kui' plokk tuleb sulgeda 'ole' . 'Kui' lauset saab määratleda kolmandate sulgude või esimeste sulgude abil, nagu ka teisi programmeerimiskeeli.

Süntaks:
TO.

kui [seisukorras];
siis
avaldused
olla

B.

kui [seisukorras];siis
avaldused1
muidu
avaldus2
olla

C.

kui [seisukorras];siis
avaldus1
elif[seisukorras];siis
avaldus2
….
muidu
avaldus n
olla

Näide:

#!/bin/bash

# Määrake väärtus väärtusele $ n
n=30
# Kontrollige, kas $ n on suurem kui 100 või mitte
kui [ $ n -gt 100 ];siis
viskas välja '$ non alla 100 '
# Kontrollige, kas $ n id on suurem kui 50 või mitte
elif [ $ n -gt viiskümmend ];siis
viskas välja '$ non alla 50 '
muidu
viskas välja '$ non alla 50 '
olla

#15. Kuidas bashi väärtusi võrrelda?

Väärtuste võrdlemiseks saab bash'is kasutada kuut tüüpi võrdlusoperaatoreid. Olenevalt andmetüübist saab neid operaatoreid bash -is kasutada kahel viisil. Neid mainitakse allpool.

Stringide võrdlus Täisarvude võrdlus Kirjeldus
== -ekv Seda kasutatakse võrdsuse kontrollimiseks
! = -sündinud Seda kasutatakse ebavõrdsuse kontrollimiseks
< -lt Seda kasutatakse, et kontrollida, kas esimene väärtus on väiksem kui teine ​​või mitte
> -gt Seda kasutatakse, et kontrollida, kas esimene väärtus on suurem kui teine ​​või mitte
<= -neid Seda kasutatakse, et kontrollida, kas esimene väärtus on väiksem või võrdne teise väärtusega või mitte
> = -anna Seda kasutatakse, et kontrollida, kas esimene väärtus on suurem või võrdne teise väärtusega või mitte

Näide:

#!/bin/bash
# Initsialiseeri $ n
n=130
või='isegi'
# Kontrollige, et $ n oleks suurem või võrdne 100 -ga või ei kasutaks „–ge”.
kui [ $ n -anna 100 ];siis
viskas välja '$ non suurem või võrdne 100 '
muidu
viskas välja '$ non alla 100 '
olla
# Kontrollige, kas $ n on paaris või paaritu, kasutades operaatorit „==”
kui (( $ o=='isegi' ));siis
viskas välja 'Number on paaris'
muidu
viskas välja 'Number on paaritu'
olla

#16. Millist tingimuslauset saab kasutada bash-i if-elseif-else lausete alternatiivina?

'juhtum' avaldust saab kasutada alternatiivina tp kui-muidu-kui avaldus. Süntaks 'juhtum' avaldus bash -skriptides erineb lülituskarp teiste programmeerimiskeelte avaldus. 'juhtum' plokk on suletud 'Esakas' avaldus bash. Ei ' murda 'Avaldust kasutatakse sees' juhtum 'Plokk plokist lõpetamiseks.

Süntaks:

juhtum sisse
Sobimismuster1)käske;;
Sobimismuster2)käske;;
……
Sobimismuster n)käske;;
esac

Näide:

#!/bin/bash
#Initsialiseeri muutuja $ ticket
pilet=101
# Võrrelge $ pileti väärtust 23, 101 ja 503 -ga
juhtum $ pilet sisse
2. 3)
# Printige teade, kui väärtus on 23
viskas välja 'Sa said esimese auhinna';;
101)
# Printige teade, kui väärtus on 101
viskas välja 'Sa said teise auhinna';;
503)
# Printige teade, kui väärtus on 503
viskas välja 'Sa said kolmanda auhinna';;
*)
# Printige teade, kui väärtus ei ühti punktidega 23, 101 ja 503
viskas välja 'Vabandust, proovige järgmine kord'
väljumine 0;;
esac

#17. Milliseid erinevaid silmuseid saab bash -is kasutada?

Bash -skript toetab kolme tüüpi silmuseid. Need on ajal, eest ja kuni silmuseid. Lingid bashis kontrollivad olekut silmuse alguses. Kuigi silmus töötab, kuni tingimus jääb tõeseks ja kuni silmus töötab, kuni tingimus jääb valeks. Kasutamiseks on kaks võimalust eest silmus. Üks on üldine eest silmus, mis sisaldab kolme osa ja teine ​​on sisse-sisse silmus. Nende kolme silmuse kasutusviise on näidatud järgmises näites.

Näide:

#!/bin/bash
# Initsialiseeri $ n
n=5
# Arvutage ruut 5-1 silmuse abil
samas [ $ n -gt 0 ]
teha
ruutmeetrit= $((n*n))
viskas välja 'Ruut$ non$ ruutmeetrit'
((n--))
tehtud

# Arvutage ruut 5-1 silmuse abil
eest (( i=5; i>0; ma--))
teha
ruutmeetrit= $((i*i))
viskas välja 'Ruut$ ion$ ruutmeetrit'
tehtud

# Initsialiseeri $ x
x=5

# Arvutage ruut 5-1, kasutades silmust kuni
kuni [ x dollarit -neid 0 ]
teha
ruutmeetrit= $((x*x))
viskas välja 'Ruutx dollariton$ ruutmeetrit'
((x--))
tehtud

#18. Kuidas saab alamprogramme deklareerida ja bash -is kutsuda?

Bashis nimetatakse funktsiooni või protseduuri alamprogrammiks. Bash -alamprogrammi deklareerimine ja kutsumine erineb teistest keeltest. Erinevalt teistest standardsetest programmeerimiskeeltest ei saa alamprogrammides ühtegi argumenti deklareerida. Kuid kohalikke muutujaid saab alamprogrammis määratleda, kasutades 'kohalik' märksõna.

Näide:

#!/bin/bash
# Initsialiseerige muutuja $ x ja $ y, mis on globaalsed
x=10
ja=35

# Deklareerige funktsioon
myFunc() {
# Kuulutage kohalik muutuja $ x
kohalik x=viisteist

# Määrake globaalne muutuja $ y uuesti
ja=25

# Arvutage $ x ja $ y summa
Koos= $((x + y))

# Printige kohaliku muutuja $ x ja globaalse muutuja $ y summa
viskas välja 'Summax dollaritja$ yvõrdnez z $'
}

# Helistage funktsioonile
myFunc

# Printige globaalsete muutujate summa, $ x ja $ y
viskas välja 'Summax dollaritja$ yvõrdnez z $'

#19. Kuidas lõigata ja printida mõnda stringi andmete osa bash -is?

Bashil pole sisseehitatud funktsiooni, nagu teistel keeltel, et stringi andmete osa lõigata. Kuid parameetrite laiendamise abil saab mis tahes stringi väärtust bash -vormingus lõigata. Parameetrite laiendamisel saab määratleda kolm osa, eraldades need kooloniga, et lõigata stringiandmete mis tahes osa. Siin on kaks esimest osa kohustuslikud ja viimane osa vabatahtlik. Esimene osa sisaldab peamist stringi muutujat, mida kasutatakse lõikamiseks, teine ​​osa on lähtepositsioon, kust nööri lõigatakse, ja kolmas osa on lõikamisnööri pikkus. Lõikeväärtuse leidmiseks tuleb lähtepositsioon lugeda 0 -st ja pikkus 1 -st peastringist.

Näide:

#!/bin/bash
# Initsialiseeri stringi väärtus $ stringiks
string='Pythoni skriptikeel'
# Lõika stringi väärtus asendist 7 stringi lõpuni
viskas välja $ {string: 7}
# Lõika 9 -st tähemärgist koosnev stringi väärtus positsioonist 7
viskas välja $ {string: 7: 9}
# Lõika stringi väärtus 17 -lt 20 -le
viskas välja $ {string: 17: -4}

#20. Mainige mõnda võimalust aritmeetiliste toimingute tegemiseks bashi keeles?

Aritmeetilisi toiminguid saab bash -is teha mitmel viisil. 'Lase', 'väljend', 'bc' ja topelt sulgud on kõige tavalisemad viisid bashi aritmeetiliste toimingute tegemiseks. Nende käskude kasutusviise on näidatud järgmises näites.

Näide:

#!/bin/bash
# Lahutamise arvutamine, kasutades lauset ja parameetrite laiendamist
var1= $( väljend 120-100 )
# printige tulemus
viskas välja $ var1
# Arvutage lisamine käsuga let
lase var2=200+300
# Printige rsult
viskas välja $ var2
# Tulemuse saamiseks arvutage ja printige jagamise väärtus, kasutades 'bc'
# murdarvuga
viskas välja 'skaala = 2; 44/7 ' | bc
# Arvutage korrutamise väärtus kahekordsete sulgude abil
var3= $(( 5*3 ))
# Printige tulemus
viskas välja $ var3

#21. Kuidas kontrollida, kas kataloog on olemas või ei kasuta bashi?

Bashil on palju testkäsklusi, et kontrollida faili või kataloogi olemasolu ja faili tüüpi. '-D' suvandit kasutatakse koos kataloogiteega tingimuslausena, et kontrollida, kas kataloog on bash -is või mitte. Kui kataloog on olemas, tagastab see tõese, vastasel juhul tagastab vale.

Näide:

#!/bin/bash
# Määrake kataloogile tee muutujaga $ path
tee='/home/ubuntu/temp'
# Kontrollige, kas kataloog on olemas või mitte
kui [ -d '$ tee' ];siis
# Printige teade, kui kataloog on olemas
viskas välja 'Kataloog on olemas'
muidu
# Printige teade, kui kataloogi pole olemas
viskas välja 'Kataloogi pole olemas'
olla

#22. Kuidas saab bash -skripti lõpetada ilma kõiki avaldusi täitmata?

Kasutades 'Väljumine' käsu saab bash -skripti lõpetada ilma kõiki avaldusi täitmata. Järgmine skript kontrollib, kas konkreetne fail on olemas või mitte. Kui fail on olemas, prindib see faili tähemärgid kokku ja kui faili pole olemas, lõpetab see skripti, näidates sõnumit.

Näide:

#!/bin/bash

# Initsialiseeri failinimi muutujale $ filename
faili nimi='course.txt'

# Kontrollige faili olemasolu või mitte, kasutades valikut -f
kui [ -f '$ failinimi' ];siis
# Prindi teade, kui fail on olemas
viskas välja '$ failinimion olemas '
muidu
# Printige teade, kui faili pole olemas
viskas välja '$ failinimipole olemas '
# Lõpetage skript
väljumine 1
olla

# Loendage faili pikkus, kui see on olemas
pikkus=''tualett -c $ failinimi''

# Printige faili pikkus
viskas välja „Tähemärke kokku -$ pikk'

#23. Milleks on breh ja jatku laused bashi keeles?

murda lauset kasutatakse tsüklist lõpetamiseks ilma täieliku iteratsiooni lõpuleviimata tingimusel ja jätkata lauset kasutatakse tsüklis, et jätta välja mõni tingimusel põhinev avaldus. Kasutamine murda ja jätkata väiteid selgitatakse järgmises näites.

Näide:

#!/bin/bash
# Tsükli alustamiseks lähtestage muutuja $ i väärtuseks 0
i=0
# silmus kordab fotot 10 korda
samas [ $ i -neid 10 ]
teha
# Suurendage väärtust $ i 1 võrra
((ma ++))
# Kui väärtus $ i on võrdne 8 -ga, lõpetage tsükkel avaldise 'break' abil
kui [ $ i -ekv 8 ];siis
murda;
olla
# Kui $ i väärtus on suurem kui 6, jätke tsükli viimane lause vahele
# kasutades lauset Jätka
kui [ $ i -anna 6 ];siis
jätkata;
olla
viskas välja 'praegune väärtus i =$ i'
tehtud

# Printige pärast silmuse lõpetamist $ i väärtus
viskas välja 'Nüüd väärtus i =$ i'

#24. Kuidas teha bash -fail käivitatavaks?

Käivitatavaid bash -faile saab luua kasutades 'Chmod' käsk. Käivitatava loa saab määrata, kasutades „+ X” sisse chmod käsku koos skripti failinimega. Bash -faile saab käivitada ilma selgesõnaliselt 'Bash' käsk pärast selle faili täitmisbiti seadistamist.

Näide:

# Määrake täitmisbitt
$chmod+ x failinimi.sh

# Käivitage käivitatav fail
$./failinimi.sh

#25. Mainige mõningaid valikuid, mida kasutatakse failide testimiseks

Faili testimiseks on bash -is saadaval palju võimalusi. Mõned võimalused on toodud allpool.

Valik Kirjeldus
-f Seda kasutatakse faili olemasolu kontrollimiseks ja see on tavaline fail.
-Ja Seda kasutatakse ainult faili olemasolu kontrollimiseks.
-r Seda kasutatakse faili olemasolu kontrollimiseks ja sellel on lugemisõigus.
-sisse Seda kasutatakse faili olemasolu kontrollimiseks ja see peab kirjutama.
-x Seda kasutatakse faili olemasolu kontrollimiseks ja sellel on täitmisluba.
-d Seda kasutatakse kataloogi olemasolu kontrollimiseks.
-NEED Seda kasutatakse faili olemasolu kontrollimiseks ja see on sümboolne link.
-S Seda kasutatakse faili olemasolu kontrollimiseks ja see on pesa.
-b Seda kasutatakse blokeerimisfaili testimiseks.
-s Seda kasutatakse selleks, et kontrollida, kas faili suurus ei ole null.
-nt Seda kasutati selleks, et kontrollida, kas esimese faili sisu on uuem kui teine. Näiteks file1 -nt file2 näitab, et file1 on uuem kui file2.
-mitte Seda kasutati selleks, et kontrollida, kas esimese faili sisu on vanem kui teine. Näiteks fail1 -mitte fail2 näitab, et fail1 on vanem kui fail2.
-liha Seda kasutatakse selleks, et kontrollida, kas kaks kõva linki viitavad samale failile. Näiteks näitab flink1 -ef flink2, et flink1 ja flink2 on kõvad lingid ja mõlemad viitavad samale failile.

#26. Mida tähendab 'bc' ja kuidas saab seda käsku bash -is kasutada?

Täielik vorm 'bc' on Bash kalkulaator teha aritmeetilisi toiminguid täpsemalt bash. Murdarv jäetakse välja, kui mõni aritmeetiline toiming tehakse bash -i abil „Väljend” käsk. Murdosa saab ümardada ka kasutades kaal väärtust koos 'Bc' käsk.

Näide:

#!/bin/bash
# Arvutage jaotus ilma murdväärtuseta
viskas välja „39/7” | bc

# Arvutage jaotus täisväärtusega
viskas välja „39/7” | bc -neid

# Arvutage jaotus kolme numbriga pärast koma
viskas välja 'skaala = 3; 39/7 ' | bc

#27. Kuidas saate printida faili teatud rea bash -vormingus?

Konkreetse rea printimiseks bashi keeles on palju võimalusi. Kuidas 'awk', 'sed' ja 'Saba' käske saab kasutada faili konkreetse rea printimiseks bash -vormingus, on näidatud järgmises näites.

Näide:

#!/bin/bash

# Lugege ja salvestage faili esimene rida, kasutades käsku 'awk' koos muutujaga NR
rida1=''awk '{if (NR == 1) print $ 0}'muidugi.txt''
# Printige rida
viskas välja $ rida 1

# Lugege failist teist rida, kasutades käsku 'sed' koos valikuga -n
rida2=''sed -n2p kursus.txt''
# Printige rida
viskas välja $ rida 2

# Lugege failist viimast rida, kasutades käsku 'tail' koos valikuga -n
rida 3=''saba -n 1muidugi.txt''
# Printige fail
viskas välja $ rida 3

#28. Mis on IFS?

IFS on spetsiaalne kesta muutuja. Täisvorm IFS on sisemise välja eraldaja,
see toimib eraldajana, et eraldada sõna tekstireast. Seda kasutatakse peamiselt stringi jagamiseks, käsu lugemiseks, teksti asendamiseks jne.

Näide:

#!/bin/bash
# Deklareeri „:” eraldajaks teksti poolitamiseks
IFS=':'
# Määrake tekstiandmed sõnaga „:” tekstile $
teksti='Punane: roheline: sinine'
# for loop loeb iga sõna pärast IFS -i põhjal teksti poolitamist
eesttundisisse $ tekst;teha
# Printige sõna
viskas välja $ tundi
tehtud

#29. Kuidas stringi andmete pikkust teada saada?

'Väljend', 'wc' ja 'Awk' käskude abil saab teada stringi andmete pikkuse bash -is. „Väljend” ja 'Awk' käske kasutada pikkus valik, 'Tualett' käsk kasutab „–C” võimalus stringi pikkust lugeda.

Näide:

Ülaltoodud käskude kasutusviise on näidatud järgmises skriptis.

#!/bin/bash
# Loendage pikkus, kasutades suvandit expr
viskas välja ''väljendpikkus'Mulle meeldib PHP'''
# Loendage pikkust käsuga wc
viskas välja 'Mulle meeldib Bash' | tualett -c
# Loendage pikkust käsuga 'awk'
viskas välja 'Mulle meeldib Python' | awk '{print length}'

#30. Kuidas käitada paralleelselt mitut bash -skripti?

Kasutades saab paralleelselt käivitada mitu bash -skripti nohup käsk. Järgmises näites on näidatud, kuidas saab mitu bash -faili kaustast paralleelselt käivitada.

Näide:

# Määrake kausta nimi koos muutuja $ dir teega, mis sisaldab
# mitu bash -faili
sulle='kodu/Ubuntu/temp'

# for loop loeb iga faili kataloogist ja täidab seda paralleelselt
eestskriptsissesulle/ *.sh
teha
nohup lööma '$ skript' &
tehtud

Järeldus:

Enamikku bash -skripti põhilisi intervjuuküsimusi kirjeldatakse selles artiklis lugejatele, kes soovivad alustada karjääri bash -programmeerijana.