#01. Mi az a bash script?
A bash script egy shell programozási nyelv. Általában sokféle shell parancsot futtatunk a terminálról úgy, hogy minden parancsot külön begépelünk, ami időt és erőfeszítést igényel. Ha ugyanazokat a parancsokat kell újra futtatnunk, akkor az összes parancsot újra kell végrehajtanunk a terminálról. De bash parancsfájl használatával sok shell parancs utasítást tárolhatunk egyetlen bash fájlban, és bármikor végrehajthatjuk a fájlt egyetlen paranccsal. Számos rendszeradminisztrációs feladat, programtelepítés, lemezmentés, naplók kiértékelése stb. Elvégezhető a megfelelő bash parancsfájl használatával.
#02. Milyen előnyökkel jár a bash szkriptek használata?
A Bash script számos előnnyel rendelkezik, amelyeket az alábbiakban ismertetünk:
- Könnyen használható és tanulható.
- Sok manuális feladatot, amelyeket gyakran kell futtatni, automatikusan el lehet végezni egy bash szkript írásával.
- A több shell parancs sorozatát egyetlen paranccsal lehet végrehajtani.
- Az egyik Linux operációs rendszerben írt Bash szkript könnyen végrehajtható más Linux operációs rendszerekben. Tehát hordozható.
- A hibakeresés a bash -ban könnyebb, mint más programozási nyelvek.
- A parancssori szintaxis és a terminálban használt parancsok hasonlóak a bash scriptben használt parancsokhoz és szintaxisokhoz.
- A Bash szkript más szkriptfájlokkal való összekapcsolásra használható.
#03. Említse meg a bash szkriptek hátrányait
Az alábbiakban felsoroljuk a bash script néhány hátrányát:
- Lassabban működik, mint más nyelvek.
- A helytelen szkript károsíthatja az egész folyamatot, és bonyolult hibát okozhat.
- Nem alkalmas nagy és összetett alkalmazás fejlesztésére.
- A többi szabványos programozási nyelvhez képest kevesebb adatstruktúrát tartalmaz.
#04. Milyen típusú változókat használnak a bash -ban?
A bash scriptben kétféle változó használható. Ezek:
Rendszerváltozók
A Linux operációs rendszer által előre definiált és karbantartott változókat rendszerváltozóknak nevezzük. Az ilyen típusú változókat mindig egy nagybetű használja. Ezeknek a változóknak az alapértelmezett értékei a követelményeknek megfelelően módosíthatók.
`set`,` env` és ` printenv `parancsokkal kinyomtathatók a rendszerváltozók listája.
Példa:
#!/bin/bash
# Nyomtatási rendszerváltozók
#Print Bash héj neve
kidobta $ BASH
# Print Bash shell verzió
kidobta $ BASH_VERSION
# Nyomtassa ki a Home könyvtár nevét
kidobta $ HOME
Felhasználó által definiált változó
A felhasználók által létrehozott és karbantartott változókat felhasználó által definiált változóknak nevezzük. Ezeket helyi változóknak is nevezik. Az ilyen típusú változókat deklarálni lehet kis- vagy nagybetűvel, vagy mind nagy-, mind kisbetűvel. De jobb elkerülni az összes nagybetű használatát, hogy megkülönböztessük a változókat a rendszerváltozóktól.
Példa:
az egyiken=100
kidobta $ szám
#05. Hogyan lehet deklarálni és törölni a változókat a bash -ban?
A változó bash -ban deklarálható adattípus szerint vagy adattípus nélkül. Ha bármely bash változót anélkül deklarálunk kijelent parancsot, akkor a változót karakterláncként kezeljük. A Bash változót a gombbal deklaráljuk kijelent parancs a változó adattípusának meghatározására az idődeklaráció során.
–R , -i, -a, -A, -l, -u, -t és -X opciók használhatók kijelent parancs egy változó deklarálására különböző adattípusokkal.
Példa:
#!/bin/bash#Declare változó típus nélkül
az egyiken=10
#Az értékeket egyesíti, de nem adja hozzá
eredmény=$ szám+húsz
kidobta $ eredmény
#Declare változó egész típusú típussal
kijelent -én az egyiken=10
#Értékek hozzáadásra kerülnek
kijelent -én eredmény= szám+húsz
kidobta $ eredmény
nincs beállítva parancs a bash változók eltávolítására szolgál. A változó elérhetetlen vagy nem definiált lesz használat után nincs beállítva parancs.
Példa:
#!/bin/basho='Linux tipp'
kidobta $ str
nincs beállítva $ str
kidobta $ str
#06. Hogyan lehet megjegyzéseket hozzáadni egy bash szkripthez?
Egysoros és többsoros megjegyzések használhatók a bash scriptben. ' # 'Szimbólum az egysoros megjegyzéshez használatos. '<<’ szimbólum elválasztóval és ':' az egyszeres (') karakterekkel többsoros megjegyzéseket adhat hozzá.
Példa:
#!/bin/bash#Nyomtassa ki a szöveget [Egysoros megjegyzés]
kidobta 'Bash programozás'
<
Két számból [többsoros megjegyzés]
Megjegyzés hozzáadása
az egyiken=25+35
kidobta $ szám
:'
Kombináljon kettőt
String adatok [többsoros megjegyzés]
'
Húr='Helló'
kidobta $ karakterlánc'Világ'
#07. Hogyan lehet kombinálni a karakterláncokat egy bash szkriptben?
A karakterlánc értékek bash -ban különböző módon kombinálhatók. Általában a karakterláncok értékeit egyesítéssel kombinálják, de a bash -ban más módon is kombinálhatók a karakterlánc -adatok.
Példa:
#!/bin/bash#Inicializálja a változókat
str1='PHP'
str2='Bash'
str3='Perl'
# Nyomja meg a karakterláncot a szóközzel együtt
kidobta $ str1 $ str2 $ str3
#Kombinálja az összes változót, és tárolja egy másik változóban
o='$ str1,$ str2és$ str3'
#Kombináljon más karakterlánc -adatokat a karakterlánc meglévő értékével
str + ='szkriptnyelv'
#Nyomtassa ki a karakterláncot
kidobta $ str
#08. Milyen parancsokat használnak a kimenet nyomtatására bash -ban?
'visszhang' és `printf` parancsokkal lehet kimenetet nyomtatni bash -ban. `visszhang `parancs az egyszerű kimenet és az `printf` parancs a formázott kimenet nyomtatására szolgál.
Példa:
#!/bin/bash#Nyomtassa ki a szöveget
kidobta 'Üdvözli a LinuxHint!'
webhely='linuxhint.com'
#Nyomtassa ki a formázott szöveget
printf '%s egy népszerű blogoldal n' $ webhely
#09. Hogyan lehet bemenetet venni a terminálból bash -ban?
`olvasni` parancsot egy bash szkriptben használják a terminálról történő bevitelhez.
Példa:
#!/bin/bash#Nyomtatási üzenet
kidobta 'Adja meg nevét'
#Vegye be a felhasználó adatait
olvasnév
# Nyomtassa ki a $ name értékét más karakterlánccal
kidobta 'A neved$ név'
#10. Hogyan kell használni a parancssori argumentumokat a bash-ban?
A parancssori érveket olvassa $ 1, $ 2, $ 3… $ n változók. A parancssori argumentumok értékei a terminálban vannak megadva a bash parancsfájl végrehajtásakor. $ 1 az első érv olvasására szolgál, 2 USD a második érv olvasására és így tovább.
Példa:
#!/bin/bash#Ellenőrizze, hogy vannak -e érvek, vagy sem
ha [[ $ # -eq 0 ]];azután
kidobta - Nincs érv.
kijárat 0
lenni
#Tárolja az első argumentum értékét
szín=$ 1
# Nyomtassa ki az érvet más karakterlánccal
printf 'Kedvenc színed: %s n' $ színű
#11. A bash gyengén gépelt nyelv? Miért?
Igen, a bash gyengén vagy lazán gépelt nyelvnek tekinthető, mert nem igényli az adatok típusának deklarálását a változó deklaráláskor. Alapértelmezés szerint minden bash változót karakterláncként kezel, és a változó típusát az aktuális érték alapján kell beállítani. Az adattípusokkal rendelkező Bash -változókat a segítségével lehet definiálni kijelent parancsot egy adott opcióval. Az adattípusok meghatározására vonatkozó lehetőségek azonban korlátozottak, és nem támogatnak minden típusú adatot. Például, úszó adattípus nem deklarálható a használatával kijelent parancs.
Példa:
#!/bin/bash#A $ myVar adattípusa alapértelmezés szerint karakterlánc
myVar=29
# Nyomtassa ki a változót
kidobta $ myVar
# A $ number egész változó deklarálása 67 értékkel
kijelent -én szám=67
#Nyomtassa ki a változót
kidobta $ szám
# Rendeljen karakterlánc adatokat a numerikus változóhoz. A következő sor generálja
# szintaktikai hiba, és a $ szám értéke nem változik
szám='Szeretem a bash -t'
kidobta $ szám
#12. Hogyan lehet leolvasni a fájl minden sorából a második szót vagy oszlopot?
A fájl második szava vagy oszlopa egy bash szkriptben olvasható le különböző bash parancsok, például 'awk', 'sed' stb. Használatával. `awk` a következő példában látható.
Példa: Tegyük fel, hogy a course.txt fájl a következő tartalmat tartalmazza, és a fájl minden sorának csak a második szavát nyomtattuk ki.
CSE303 adatszerkezet
CSE408 Unix programozás#!/bin/bash
# A következő parancsfájl minden sor második szavát kinyomtatja a course.txt fájlból.
# A cat parancs kimenete átmegy az awk parancsra, amely elolvassa a második szót
minden sor #.
kidobta ``macskatanfolyam.txt| awk '{print $ 2}'``
#13. Hogyan lehet deklarálni és elérni egy tömbváltozót bash -ban?
Mind a numerikus, mind az asszociatív tömböket bash -parancsfájl támogatja. Egy tömbváltozó deklarálható deklaráló paranccsal és anélkül. -nak nek opciót a deklarálás paranccsal használjuk egy numerikus tömb és -NAK NEK opciót a deklaráció utasítással használjuk egy asszociatív tömb definiálásához bash -ban. A deklarációs parancs nélkül a numerikus tömb csak bash -ban definiálható.
Példa:
#!/bin/bash# Deklaráljon egy egyszerű numerikus tömböt
arr1=(CodeIgniter Laravel ReactJS)
# Nyomtassa ki az $ arr1 első elemértékét
kidobta $ {arr1 [0] {
# Nyilvánítson egy numerikus tömböt a deklarálás paranccsal
kijelent -nak nek arr2=(HTML CSS JavaScript)
# Nyomtassa ki a $ elem2 második elemértékét
kidobta $ {arr2 [1]}
# Deklaráljon asszociatív tömböt a deklarációs utasítás használatával
kijelent -NAK NEK arr3=( [keretrendszer]= Laravel[CMS]= Wordpress[Könyvtár]= JQuery)
# Nyomtassa ki a $ arr3 harmadik elemértékét
kidobta $ {arr3 [Könyvtár]}
Egy tömb minden eleme elérhető bármely hurok vagy „*” szimbólum használatával tömbindexként.
#14. Hogyan használhatók a feltételes utasítások a bash -ban?
A legtöbb programozási nyelvben a leggyakoribb feltételes állítás az az if-elseif-else nyilatkozat. A szintaxisa if-elseif-else A bash utasítás egy kicsit eltér a többi programozási nyelvtől. 'Ha' utasítás kétféleképpen deklarálható bash szkriptben és minden típusban 'ha' blokkot le kell zárni a gombbal 'lenni' . 'ha' az utasítást harmadik zárójel vagy első zárójel határozza meg, mint más programozási nyelvek.
Szintaxis:
NAK NEK.
azután
nyilatkozatok
lenni
B.
ha [állapot];azutánnyilatkozatok1
más
nyilatkozat2
lenni
C.
ha [állapot];azutánnyilatkozat1
elif[állapot];azután
nyilatkozat2
….
más
nyilatkozat n
lenni
Példa:
#!/bin/bash# Rendeljen értéket $ n értékhez
n=30
# Ellenőrizze, hogy $ n nagyobb -e 100 -nál, vagy sem
ha [ $ n -gt 100 ];azután
kidobta '$ nkevesebb, mint 100 '
# Ellenőrizze, hogy a $ n azonosító nagyobb -e 50 -nél
elif [ $ n -gt ötven ];azután
kidobta '$ nkevesebb, mint 50 '
más
kidobta '$ nkevesebb, mint 50 '
lenni
#15. Hogyan lehet összehasonlítani az értékeket bash -ban?
A bash -ban hatféle összehasonlító operátor használható az értékek összehasonlítására. Az adattípustól függően kétféleképpen lehet ezeket az operátorokat bash -ban használni. Ezeket az alábbiakban említjük.
Húr összehasonlítás | Egész szám összehasonlítás | Leírás |
== | -eq | Az egyenlőség ellenőrzésére szolgál |
! = | -született | Az egyenlőtlenségek ellenőrzésére szolgál |
< | -lt | Ezt akkor használják, ha az első érték kisebb, mint a második, vagy sem |
> | -gt | Ellenőrizze, hogy az első érték nagyobb -e a másodiknál, vagy sem |
<= | -az | Ellenőrizze, hogy az első érték kisebb vagy egyenlő -e a második értékkel, vagy sem |
> = | -adni | Ellenőrizze, hogy az első érték nagyobb vagy egyenlő -e a második értékkel, vagy sem |
Példa:
#!/bin/bash# $ N inicializálása
n=130
vagy='még'
# Ellenőrizze, hogy a $ n nagyobb vagy egyenlő 100 -mal, vagy nem használja a „–ge” értéket.
ha [ $ n -adni 100 ];azután
kidobta '$ nnagyobb vagy egyenlő 100 '
más
kidobta '$ nkevesebb, mint 100 '
lenni
# Ellenőrizze, hogy a $ n páros vagy páratlan -e a „==” operátorral
ha (( $ o=='még' ));azután
kidobta 'Páros a szám'
más
kidobta 'A szám páratlan'
lenni
#16. Melyik feltételes utasítás használható a bash if-elseif-else utasításai helyett?
'ügy' utasítás használható alternatívaként tp if-elseif-if nyilatkozat. A szintaxisa a 'ügy' A bash szkriptekben szereplő utasítás eltér a kapcsolószekrény más programozási nyelvek nyilatkozata. 'ügy' blokk zárva van „Esza” nyilatkozat bash -ban. Nem ' szünet 'Az állítást belül használják' ügy 'Blokk, hogy befejezze a blokkot.
Szintaxis:
ügy ban benEgyezési minta1)parancsokat;;
Egyezési minta2)parancsokat;;
……
Egyezési minta n)parancsokat;;
esac
Példa:
#!/bin/bash#Inicializálja a $ ticket változót
jegy=101
# Hasonlítsa össze a $ jegy értékét a 23 -as, 101 -es és 503 -as értékkel
ügy $ jegy ban ben
2. 3)
# Nyomtassa ki az üzenetet, ha az érték 23
kidobta 'Megkaptad az első díjat';;
101)
# Nyomtassa ki az üzenetet, ha az érték 101
kidobta 'Megkaptad a második díjat';;
503)
# Nyomtassa ki az üzenetet, ha az értéke 503
kidobta 'Megkaptad a harmadik díjat';;
*)
# Nyomtassa ki az üzenetet, ha az érték nem egyezik a 23 -as, 101 -es és 503 -as értékkel
kidobta 'Bocs, próbáld meg legközelebb'
kijárat 0;;
esac
#17. Milyen különböző hurkok használhatók a bash -ban?
A bash szkript háromféle hurkot támogat. Ezek míg, azért és amíg hurkok. A bash -ban lévő hurkok a ciklus elején ellenőrzik az állapotot. Míg ciklus addig működik, amíg a feltétel igaz marad, és amíg ciklus addig működik, amíg a feltétel hamis marad. Kétféle módon lehet használni számára hurok. Az egyik általános számára hurok, amely három részt tartalmaz, és egy másik be hurok. E három ciklus felhasználását a következő példa mutatja be.
Példa:
#!/bin/bash# $ N inicializálása
n=5
# Számítsa ki az 5-1 négyzetet a while ciklus használatával
míg [ $ n -gt 0 ]
tedd
négyzetméter= $((n*n))
kidobta - A négyzet$ nvan$ sqr'
((n--))
Kész
# Számítsa ki az 5-1 négyzetet a ciklus segítségével
számára (( én=5; én>0; én--))
tedd
négyzetméter= $((én*én))
kidobta - A négyzet$ ivan$ sqr'
Kész
# Inicializálja $ x
x=5
# Számítsa ki az 5-1 négyzetet a ciklus segítségével
amíg [ $ x -az 0 ]
tedd
négyzetméter= $((x*x))
kidobta - A négyzet$ xvan$ sqr'
((x--))
Kész
#18. Hogyan lehet deklarálni és meghívni az alprogramokat bash -ban?
A bash -ban egy függvényt vagy eljárást szubrutinnak neveznek. A bash -ban található alprogram deklarálása és meghívása eltér a többi nyelvtől. Más szabványos programozási nyelvekkel ellentétben egyetlen argumentum sem deklarálható alprogramokban. De a helyi változókat a szubrutinon belül definiálhatjuk a 'helyi' kulcsszó.
Példa:
#!/bin/bash# Inicializálja a $ x és $ y változókat, amelyek globálisak
x=10
és=35
# Nyújtsa be a funkciót
myFunc() {
# Deklarálja a $ x helyi változót
helyi x=tizenöt
# Rendelje hozzá újra a $ y globális változót
és=25
# Számítsa ki $ x és $ y összegét
Val vel= $((x + y))
# Nyomtassa ki a $ x helyi változó és a $ y globális változó összegét
kidobta - Az összeg$ xés$ yegyenlő$ z'
}
# Hívja fel a funkciót
myFunc
# Nyomtassa ki a globális változók összegét, $ x és $ y
kidobta - Az összeg$ xés$ yegyenlő$ z'
#19. Hogyan lehet kivágni és kinyomtatni egy karakterláncadatok egy részét a bash -ban?
A Bash nem rendelkezik olyan beépített funkcióval, mint más nyelvek, hogy kivágja a karakterlánc-adatok egy részét. De a paraméterbővítés használatával bármilyen karakterlánc értéket le lehet vágni bash -ban. Három rész definiálható a paraméterbővítésben, kettősponttal elválasztva, hogy kivágja a karakterlánc adatainak bármely részét. Itt az első két rész kötelező, az utolsó rész pedig nem kötelező. Az első rész a fő karakterlánc -változót tartalmazza, amelyet a vágáshoz használnak, a második rész a kiindulási pozíció, ahonnan a karakterláncot levágják, a harmadik rész pedig a vágóhúr hossza. A vágási érték lekéréséhez a kiindulási pozíciót 0 -tól kell számolni, a hosszúságot pedig a fő karakterlánc 1 -től.
Példa:
#!/bin/bash# Inicializálja a karakterlánc értékét $ string -be
húr='Python szkriptnyelv'
# Vágja le a karakterlánc értékét a 7. pozícióból a karakterlánc végére
kidobta $ {string: 7}
# Vágja ki a 9 karakterlánc értékét a 7 -es pozícióból
kidobta $ {string: 7: 9}
# Vágja le a karakterlánc értékét 17 -ről 20 -ra
kidobta $ {string: 17: -4}
#20. Megemlít néhány módszert a számtani műveletek végrehajtására bash -ban?
Az aritmetikai műveletek többféleképpen is elvégezhetők bash -ban. „Let”, „expr”, „bc” és dupla zárójel ezek a leggyakoribb módszerek aritmetikai műveletek végrehajtására bash -ban. Ezen parancsok használatát a következő példa mutatja be.
Példa:
#!/bin/bash# A kivonás kiszámítása expr és paraméterbővítés segítségével
var1= $( kifejezés 120-100 )
# nyomtassa ki az eredményt
kidobta $ var1
# Számítsa ki az összeadást a let paranccsal
hagyja var2=200+300
# Nyomtassa ki az rsult értéket
kidobta $ var2
# Számítsa ki és nyomtassa ki az osztás értékét a „bc” használatával az eredmény eléréséhez
# tört értékkel
kidobta 'skála = 2; 44/7 ' | időszámításunk előtt
# Számítsa ki a szorzás értékét kettős zárójelekkel
var3= $(( 5*3 ))
# Nyomtassa ki az eredményt
kidobta $ var3
#21. Hogyan lehet ellenőrizni, hogy létezik -e könyvtár, vagy nincs bash?
A Bash számos tesztparancsot tartalmaz annak ellenőrzésére, hogy létezik -e fájl vagy könyvtár, illetve nincs -e a fájl típusa. '-D' opciót a könyvtár elérési útjával együtt használjuk feltételes utasításként annak ellenőrzésére, hogy a könyvtár létezik -e vagy sem bash -ban. Ha a könyvtár létezik, akkor igaz értéket ad vissza, különben hamisat.
Példa:
#!/bin/bash# Rendelje hozzá a könyvtárat útvonalhoz a $ path változóban
pálya='/home/ubuntu/temp'
# Ellenőrizze, hogy a könyvtár létezik -e vagy sem
ha [ -d '$ elérési út' ];azután
# Nyomtassa ki az üzenetet, ha a könyvtár létezik
kidobta 'A könyvtár létezik'
más
# Nyomtassa ki az üzenetet, ha a könyvtár nem létezik
kidobta 'A könyvtár nem létezik'
lenni
#22. Hogyan lehet megszüntetni a bash szkriptet minden utasítás végrehajtása nélkül?
Használata 'kijárat' parancsot, a bash szkript leállítható az összes utasítás végrehajtása nélkül. A következő parancsfájl ellenőrzi, hogy létezik -e egy adott fájl. Ha a fájl létezik, akkor kinyomtatja a fájl összes karakterét, és ha a fájl nem létezik, akkor egy üzenet megjelenítésével leállítja a szkriptet.
Példa:
#!/bin/bash# Inicializálja a fájlnevet a $ fájlnév változóba
fájl név='course.txt'
# Ellenőrizze, hogy a fájl létezik -e vagy sem a -f opció használatával
ha [ -f '$ fájlnév' ];azután
# Nyomtassa ki az üzenetet, ha a fájl létezik
kidobta '$ fájlnévlétezik'
más
# Nyomtassa ki az üzenetet, ha a fájl nem létezik
kidobta '$ fájlnévnem létezik'
# Szüntesse meg a szkriptet
kijárat 1
lenni
# Számolja meg a fájl hosszát, ha a fájl létezik
hossz=``WC -c $ fájlnév``
# Nyomtassa ki a fájl hosszát
kidobta 'Összes karakter -$ hosszúságú'
#23. Milyen célokra használhatók a break és folytass nyilatkozatok bash -ban?
szünet utasítás használható a ciklusból történő befejezésre a feltétel és a teljes iteráció befejezése nélkül folytatni utasítás egy ciklusban használatos bizonyos feltételek alapján kihagyni néhány állítást. A felhasználásai szünet és folytatni állításokat a következő példa magyarázza.
Példa:
#!/bin/bash# Inicializálja a $ i változót 0 -ig a ciklus elindításához
én=0
# a ciklus 10 -szer ismétlődik
míg [ $ i -az 10 ]
tedd
# Növelje $ i értékét 1 -gyel
((i ++))
# Ha az $ i értéke 8, akkor fejezze be a ciklust a 'break' utasítás használatával
ha [ $ i -eq 8 ];azután
szünet;
lenni
# Ha az $ i értéke nagyobb, mint 6, akkor hagyja ki a ciklus utolsó utasítását
# a folytatás utasítás használatával
ha [ $ i -adni 6 ];azután
folytatni;
lenni
kidobta 'i = aktuális értéke$ i'
Kész
# Nyomja ki a $ i értékét, miután befejezte a ciklusból
kidobta 'Most az i értéke =$ i'
#24. Hogyan lehet végrehajtani a bash fájlt?
Futtatható bash fájlok készíthetők a használatával 'Chmod' parancs. A végrehajtható jogosultság a segítségével állítható be '+ X' ban ben chmod parancsot a szkript fájlnevével. A Bash fájlok explicit nélkül is végrehajthatók 'Bash' parancsot a fájl végrehajtási bitjének beállítása után.
Példa:
# Állítsa be a végrehajtási bitet$chmod+ x fájlnév.sh
# Futtassa a futtatható fájlt
$./fájlnév.sh
#25. Említsen meg néhány lehetőséget a fájlok tesztelésére
A bash -ban számos lehetőség áll rendelkezésre a fájl teszteléséhez. Az alábbiakban néhány lehetőséget említünk.
választási lehetőség | Leírás |
-f | A fájl létezésének tesztelésére szolgál, és rendszeres fájl. |
-És | Csak a fájl létezésének tesztelésére szolgál. |
-r | A fájl létezésének tesztelésére szolgál, és olvasási engedéllyel rendelkezik. |
-ban ben | A fájl létezésének tesztelésére szolgál, és írási jogosultsággal kell rendelkeznie. |
-x | A fájl létezésének tesztelésére szolgál, és végrehajtási engedéllyel rendelkezik. |
-d | A könyvtár létezésének tesztelésére szolgál. |
-AZ | A fájl létezésének tesztelésére szolgál, és szimbolikus link. |
-S | A fájl létezésének tesztelésére szolgál, és ez egy foglalat. |
-b | A fájl blokkeszközként való tesztelésére szolgál. |
-s | Arra szolgál, hogy ellenőrizze, hogy a fájl mérete nem nulla. |
-például | Annak ellenőrzésére használták, hogy az első fájl tartalma újabb, mint a második. Például a file1 -nt file2 azt jelzi, hogy a file1 újabb, mint a file2. |
-nem | Azt ellenőrizte, hogy az első fájl tartalma régebbi, mint a második. Például a file1 -ot file2 azt jelzi, hogy a file1 régebbi, mint a file2. |
-hús | Arra szolgál, hogy ellenőrizze, hogy két merev link hivatkozik -e ugyanarra a fájlra. Például a flink1 -ef flink2 azt jelzi, hogy a flink1 és a flink2 merev linkek, és mindkettő ugyanarra a fájlra hivatkozik. |
#26. Mit jelent a „bc” kifejezés, és hogyan használható ez a parancs a bash -ban?
A „bc” teljes formája az Bash számológép hogy pontosabban végezze el az aritmetikai műveleteket bash -ban. A törtrész kimarad, ha bármilyen aritmetikai műveletet bash -ban használunk a használatával „Kifejezés” parancs. A törtrész felhasználásával is kerekíthető skála értékkel 'időszámításunk előtt' parancs.
Példa:
#!/bin/bash# Számítsa ki az osztást törtérték nélkül
kidobta '39 / 7 ' | időszámításunk előtt
# Számítsa ki az osztást a teljes törtértékkel
kidobta '39 / 7 ' | időszámításunk előtt -az
# Számítsa ki az osztást három számjeggyel a tizedespont után
kidobta 'skála = 3; 39/7 ' | időszámításunk előtt
#27. Hogyan lehet kinyomtatni egy fájl egy sorát bash -ban?
Sokféleképpen nyomtathat egy adott sort bash -ban. Hogy a 'awk', 'sed' és 'farok' parancsok használhatók a fájl egy adott sorának bash -ban történő nyomtatására. A következő példában látható.
Példa:
#!/bin/bash# Olvassa el és tárolja a fájl első sorát az 'awk' paranccsal NR változóval
sor1=``awk '{if (NR == 1) print $ 0}'tanfolyam.txt``
# Nyomtassa ki a sort
kidobta $ sor1
# Olvassa el a fájl második sorát a `sed` paranccsal a -n opcióval
2. sor=``sed -n2p tanfolyam.txt``
# Nyomtassa ki a sort
kidobta $ sor2
# Olvassa el a fájl utolsó sorát a `tail` paranccsal a -n opcióval
3. sor=``farok -n 1tanfolyam.txt``
# Nyomtassa ki a fájlt
kidobta $ sor3
#28. Mi az IFS?
IFS egy speciális shell változó. A teljes formája IFS belső mező elválasztó,
elválasztóként működik, hogy elválassza a szót a szöveg sorától. Főleg karakterlánc felosztására, parancs olvasására, szöveg cseréjére stb.
Példa:
#!/bin/bash# A ':' deklarálása határolóként a szöveg felosztásához
IFS=':'
# Rendeljen hozzá szöveges adatokat a ':' jelzéssel a $ szöveghez
szöveg='Piros: Zöld: Kék'
A # for loop minden szót elolvassa, miután a szöveget IFS alapján felosztotta
számáraóraban ben $ szöveg;tedd
# Nyomtassa ki a szót
kidobta $ óra
Kész
#29. Hogyan lehet megtudni egy sztring adat hosszát?
'Expr', 'wc' és 'Awk' parancsok segítségével megtudhatja a karakterláncok hosszát a bash -ban. „Kifejezés” és 'Awk' parancsok használata hossz választási lehetőség, 'WC' parancs használja „–C” lehetőség számítani a karakterlánc hosszát.
Példa:
A fenti parancsok használatát a következő parancsfájl mutatja be.
#!/bin/bash# Számolja a hosszúságot az 'expr' hosszúság opcióval
kidobta ``kifejezéshossz'Szeretem a PHP -t'``
# Számolja a hosszúságot a `wc` paranccsal
kidobta 'Szeretem Bash -t' | WC -c
# Számolja a hosszúságot az `awk` paranccsal
kidobta 'Szeretem a Python -t' | awk '{print length}'
#30. Hogyan lehet párhuzamosan több bash szkriptet futtatni?
A használatával több bash parancsfájl is futtatható párhuzamosan nohup parancs. A következő példában bemutatjuk, hogyan lehet párhuzamosan több bash fájlt végrehajtani egy mappából.
Példa:
# Rendeljen mappanevet a $ dir változó elérési útjával# több bash fájl
neked='home/Ubuntu/temp'
A # for loop minden fájlt a könyvtárból olvas és párhuzamosan hajt végre
számáraforgatókönyvban benneked/ *.SH
tedd
nohup bash '$ script' &
Kész
Következtetés:
A legtöbb alapvető bash script interjúkérdést ebben a cikkben írjuk le azoknak az olvasóknak, akik bash programozói karriert szeretnének kezdeni.