30 bash skript Rozhovor otázky a odpovede

30 Bash Script Interview Questions



Bash skriptovanie je veľmi užitočný a výkonný programovací jazyk, ktorý sa používa hlavne na automatizáciu akejkoľvek manuálnej úlohy. Uchádzač o zamestnanie, ktorý chce byť testerom automatizácie alebo programátorom bash, musí na pohovore čeliť niektorým častým otázkam. V Linuxe existujú rôzne typy shell skriptov. Jedným z obľúbených a väčšinou používaných shell skriptov je Bourne Again Shell alebo Bash. V tomto článku je popísaných 30 dôležitých otázok a odpovedí na pohovor v jazyku bash, aby sa pripravili na prácu.

#01. Čo je to bash skript?

Skript bash je shell programovací jazyk. Spravidla z terminálu spustíme mnoho typov príkazov shellu zadaním každého príkazu oddelene, čo si vyžaduje čas a úsilie. Ak potrebujeme znova spustiť rovnaké príkazy, musíme znova vykonať všetky príkazy z terminálu. Ale pomocou skriptu bash môžeme uložiť veľa príkazov príkazu shell do jedného súboru bash a spustiť súbor kedykoľvek jediným príkazom. Mnoho úloh súvisiacich so správou systému, inštaláciu programu, zálohovanie disku, vyhodnocovanie protokolov atď. Je možné vykonať pomocou správneho skriptu bash.







#02. Aké sú výhody používania bash skriptov?

Bash skript má mnoho výhod, ktoré sú popísané nižšie:



  • Je ľahké používať a učiť sa.
  • Mnoho manuálnych úloh, ktoré je potrebné často spúšťať, je možné vykonať automaticky napísaním bash skriptu.
  • Sekvenciu viacerých príkazov shellu je možné vykonať jediným príkazom.
  • Bash skript napísaný v jednom operačnom systéme Linux sa dá ľahko spustiť v inom operačnom systéme Linux. Je teda prenosný.
  • Ladenie v bash je jednoduchšie ako v iných programovacích jazykoch.
  • Syntax príkazového riadka a príkazy, ktoré sa používajú v termináli, sú podobné príkazom a syntaxi použitej v bash skripte.
  • Bash skript je možné použiť na prepojenie s inými súbormi skriptov.

#03. Uveďte nevýhody bash skriptov

Niektoré nevýhody bash skriptu sú uvedené nižšie:



  • Funguje pomalšie ako ostatné jazyky.
  • Nesprávny skript môže poškodiť celý proces a spôsobiť komplikovanú chybu.
  • Nie je vhodný na vývoj veľkej a komplexnej aplikácie.
  • V porovnaní s inými štandardnými programovacími jazykmi obsahuje menšiu dátovú štruktúru.

#04. Aké typy premenných sa používajú v bash?

V bash skripte možno použiť dva typy premenných. Sú to tieto:

Systémové premenné
Premenné, ktoré sú preddefinované a udržiavané operačným systémom Linux, sa nazývajú systémové premenné. Tieto typy premenných sú vždy používané veľkým písmenom. Predvolené hodnoty týchto premenných je možné zmeniť na základe požiadaviek.

`set`,` env` a ` printenv Príkazy `` je možné použiť na vytlačenie zoznamu systémových premenných.

Príklad:





#!/bin/bash
# Premenné systému tlače

#Tlač názov shellu Bash
zahodil $ BASH

# Vytlačiť verziu shellu Bash
zahodil $ BASH_VERSION

# Vytlačte názov domovského adresára
zahodil $ HOME

Užívateľom definovaná premenná

Premenné, ktoré vytvárajú a spravujú užívatelia, sa nazývajú premenné definované užívateľom. Hovorí sa im aj lokálne premenné. Tieto typy premenných je možné deklarovať pomocou malých alebo veľkých písmen alebo veľkých aj malých písmen. Je však lepšie vyhnúť sa používaniu všetkých veľkých písmen na rozlíšenie premenných od systémových premenných.
Príklad:

#!/bin/bash

na jeden=100
zahodil $ num

#05. Ako môžem deklarovať a odstraňovať premenné v bash?

Premennú je možné deklarovať v bash podľa dátového typu alebo bez dátového typu. Ak je nejaká premenná bash deklarovaná bez vyhlásiť príkaz, potom bude premenná považovaná za reťazec. Bash premenná je deklarovaná pomocou vyhlásiť príkaz na definovanie dátového typu premennej pri časovom vyhlásení.



–R , -i, -a, -A, -l, -u, -t a -X možnosti je možné použiť s vyhlásiť príkaz na deklarovanie premennej s rôznymi typmi údajov.

Príklad:

#!/bin/bash

#Deklarujte premennú bez akéhokoľvek typu
na jeden=10

#Hodnoty budú kombinované, ale nebudú pridané
výsledok=$ num+dvadsať
zahodil $ výsledok

#Deklarujte premennú celočíselným typom
vyhlásiť -i na jeden=10

#Hodnoty budú pridané
vyhlásiť -i výsledok= počet+dvadsať
zahodil $ výsledok

rozrušený príkaz sa používa na odstránenie akejkoľvek premennej bash. Premenná bude po použití neprístupná alebo nedefinovaná rozrušený príkaz.

Príklad:

#!/bin/bash

p=„Linuxový tip“
zahodil $ str
rozrušený $ str
zahodil $ str

#06. Ako pridať komentáre do bash skriptu?

V bash skripte je možné použiť jednoriadkové a viacriadkové komentáre. „ # „Symbol sa používa na jednoriadkový komentár. '<<’ symbol s oddeľovačom a ':' s jedným (') sa používajú na pridanie viacriadkového komentára.

Príklad:

#!/bin/bash
#Vytlačte text [jednoriadkový komentár]
zahodil „Bash programovanie“
< Vypočítajte súčet
Z dvoch čísel [viacriadkový komentár]
pridať komentár

na jeden=25+35
zahodil $ num
:'
Spojte dve
Reťazcové údaje [viacriadkový komentár]
'

Reťazec='Ahoj'
zahodil $ reťazec'Svet'

#07. Ako môžete skombinovať reťazce v bash skripte?

Reťazcové hodnoty je možné v bashe kombinovať rôznymi spôsobmi. Normálne sú hodnoty reťazca kombinované umiestnením dohromady, ale v bash existujú aj iné spôsoby, ako kombinovať údaje reťazcov.

Príklad:

#!/bin/bash
#Inicializujte premenné
str1='PHP'
str2='Bash'
str3='Perl'

# Vytlačte reťazec spolu s medzerou
zahodil $ str1 $ str2 $ str3

#Skombinujte všetky premenné a uložte ich do inej premennej
p='$ str1,$ str2a$ str3'

#Skombinujte ostatné údaje reťazca s existujúcou hodnotou reťazca
str + =„sú skriptovacie jazyky“

#Vytlačte reťazec
zahodil $ str

#08. Aké príkazy sa používajú na tlač výstupu v bash?

„ozvena“ a `printf ' príkazy je možné použiť na tlač výstupu v bash. `echo `príkaz sa používa na vytlačenie jednoduchého výstupu a `printf ' príkaz sa používa na tlač formátovaného výstupu.

Príklad:

#!/bin/bash

#Vytlačte text
zahodil „Vitajte v LinuxHint“
stránky='linuxhint.com'
#Vytlačte formátovaný text
printf '%s je obľúbená blogová stránka n' $ stránka

#09. Ako prijať vstup z terminálu v bash?

`čítať` príkaz sa používa v skriptu bash na vstup z terminálu.

Príklad:

#!/bin/bash
#Tlač správa
zahodil 'Zadajte svoje meno'
#Prevezmite vstup od používateľa
čítaťnázov
# Vytlačte hodnotu $ name s iným reťazcom
zahodil 'Vaše meno je$ meno'

#10. Ako používať argumenty príkazového riadka v bash?

Argumenty príkazového riadka číta 1 dolár, 2 doláre, 3 doláre… $ n premenné. Hodnoty argumentov príkazového riadka sú v termináli poskytnuté pri vykonávaní skriptu bash. 1 dolár slúži na prečítanie prvého argumentu, 2 doláre slúži na prečítanie druhého argumentu a pod.

Príklad:

#!/bin/bash
#Skontrolujte, či je alebo nie je zadaný argument
keby [[ $ # -ekv 0 ]];potom
zahodil 'Neuvádza sa žiadny argument.'
východ 0
byť
#Uložte hodnotu prvého argumentu
farba=1 dolár
# Vytlačte argument s iným reťazcom
printf „Tvoja obľúbená farba je %s n' $ farba

#11. Je bash slabo písaným jazykom? Prečo?

Áno, bash je považovaný za slabo alebo voľne napísaný jazyk, pretože nevyžaduje deklaráciu typu údajov v čase deklarácie premennej. Všetky premenné bash sú predvolene považované za reťazce a typ premennej bude nastavený na základe aktuálnej hodnoty. Bash premenné s dátovými typmi je možné definovať pomocou vyhlásiť príkaz s konkrétnou možnosťou. Možnosti definície typov údajov sú však obmedzené a nepodporujú všetky typy údajov. Napríklad, plavák dátový typ nemožno deklarovať pomocou vyhlásiť príkaz.

Príklad:

#!/bin/bash

#Dátový typ $ myVar je predvolene reťazec
myVar=29

# Vytlačte premennú
zahodil $ myVar

# Deklarujte celočíselnú premennú $ number s hodnotou 67
vyhlásiť -i číslo=67

#Vytlačte premennú
zahodil $ číslo

# Priraďte reťazcové údaje k číselnej premennej. Vygeneruje sa nasledujúci riadok
# chyba syntaxe a hodnota $ number sa nezmení
číslo='Mám rád bash'
zahodil $ číslo

#12. Ako čítať druhé slovo alebo stĺpec z každého riadka súboru?

Druhé slovo alebo stĺpec súboru je možné prečítať v skriptu bash jednoduchým použitím rôznych príkazov bash, ako napríklad `awk`,` sed` atď. Tu je použitie 'awk' je ukázaný v nasledujúcom príklade.
Príklad: Predpokladajme, že súbor course.txt obsahuje nasledujúci obsah a že sme vytlačili iba druhé slovo z každého riadka tohto súboru.

Programovanie Java CSE201
Štruktúra údajov CSE303
Programovanie CSE408 Unix#!/bin/bash
# Nasledujúci skript vytlačí druhé slovo každého riadka zo súboru course.txt.
# výstup príkazu cat prejde na príkaz awk, ktorý načíta druhé slovo
# z každého riadku.
zahodil katcourse.txt| awk '{print $ 2}'

#13. Ako deklarovať a získať prístup k premennej poľa v bash?

Číselné aj asociatívne polia sú podporované skriptom bash. Premennú poľa je možné deklarovať pomocou príkazu declare aj bez neho. -do voľba sa používa s príkazom declare na definovanie numerického poľa a -TO voľba sa používa s príkazom declare na definovanie asociatívneho poľa v bash. Bez príkazu declare môže byť numerické pole definované iba v bash.

Príklad:

#!/bin/bash

# Deklarujte jednoduché číselné pole
arr1=(CodeIgniter Laravel ReactJS)

# Vytlačte prvú hodnotu prvku $ arr1
zahodil $ {arr1 [0] {

# Deklarujte číselné pole pomocou príkazu declare
vyhlásiť -do arr2=(HTML CSS JavaScript)

# Vytlačte hodnotu druhého prvku $ arr2
zahodil $ {arr2 [1]}

# Deklarujte asociatívne pole pomocou príkazu declare
vyhlásiť -TO arr3=( [rámec]= Laravel[CMS]= Wordpress[Knižnica]= JQuery)

# Vytlačte hodnotu tretieho prvku $ arr3
zahodil $ {arr3 [knižnica]}

K všetkým prvkom poľa je možné pristupovať pomocou ľubovoľnej slučky alebo symbolu „*“ ako indexu poľa.

#14. Ako je možné použiť podmienené príkazy v bash?

Najbežnejším podmieneným príkazom vo väčšine programovacích jazykov je if-elseif-else vyhlásenie. Syntax súboru if-elseif-else príkaz v bash sa trochu líši od ostatných programovacích jazykov. „Ak“ príkaz môže byť deklarovaný dvoma spôsobmi v bash skripte a každým typom „Keby“ blok musí byť uzavretý pomocou 'byť' . „Keby“ príkaz môže byť definovaný tretími zátvorkami alebo prvými zátvorkami ako ostatné programovacie jazyky.

Syntax:
TO.

keby [podmienkou];
potom
Vyhlásenia
byť

B.

keby [podmienkou];potom
Vyhlásenia1
inak
vyhlásenie2
byť

C.

keby [podmienkou];potom
vyhlásenie1
elif[podmienkou];potom
vyhlásenie2
….
inak
vyhlásenie č
byť

Príklad:

#!/bin/bash

# Priraďte hodnotu k $ n
n=30
# Kontrola $ n je väčšia ako 100 alebo nie
keby [ $ n -gt 100 ];potom
zahodil '$ nje menej ako 100 '
# Začiarknite $ n id väčšie ako 50 alebo nie
elif [ $ n -gt päťdesiat ];potom
zahodil '$ nje menší ako 50 '
inak
zahodil '$ nje menší ako 50 '
byť

#15. Ako porovnať hodnoty v bash?

Na porovnanie hodnôt v bash je možné použiť šesť typov porovnávacích operátorov. V závislosti od typu údajov existujú dva spôsoby použitia týchto operátorov v bash. Tieto sú uvedené nižšie.

Porovnanie reťazcov Celočíselné porovnanie Popis
== -ekv Používa sa na kontrolu rovnosti
! = -narodený Slúži na kontrolu nerovnosti
< -lt Používa sa, ak je prvá hodnota menšia ako druhá hodnota alebo nie
> -gt Používa sa, ak je prvá hodnota väčšia ako druhá hodnota alebo nie
<= -ten Používa sa na kontrolu, či je prvá hodnota menšia alebo rovná druhej hodnote alebo nie
> = -dať Používa sa na kontrolu, či je prvá hodnota väčšia alebo rovná druhej hodnote alebo nie

Príklad:

#!/bin/bash
# Inicializujte $ n
n=130
alebo=„dokonca“
# Kontrola $ n je väčšia alebo rovná 100 alebo nepoužíva „–ge“.
keby [ $ n -dať 100 ];potom
zahodil '$ nje väčšia alebo rovná 100 '
inak
zahodil '$ nje menej ako 100 '
byť
# Zaškrtnite $ n je párne alebo nepárne pomocou operátora ‘==’
keby (( $ o==„dokonca“ ));potom
zahodil „Číslo je párne“
inak
zahodil „Číslo je nepárne“
byť

#16. Ktorý podmienený príkaz je možné použiť ako alternatívu k príkazom if-elseif-else v bash?

„Prípad“ príkaz môže byť použitý ako alternatíva tp if-elseif-if vyhlásenie. Syntax pre „Prípad“ príkaz v skriptoch bash sa líši od príkazu spínacia skrinka výpis ostatných programovacích jazykov. „Prípad“ blok je zatvorený 'Esac' vyhlásenie v bash. Nie ' prestávka „Vyhlásenie sa používa vo vnútri“ prípad ‘Blok na ukončenie z bloku.

Syntax:

prípad v
Vzorec zhody1)príkazy;;
Vzorec zhody2)príkazy;;
……
Zápasový vzor č)príkazy;;
esac

Príklad:

#!/bin/bash
#Inicializujte premennú $ ticket
lístok=101
# Porovnajte hodnotu $ tiketu s 23, 101 a 503
prípad $ lístok v
2. 3)
# Vytlačte správu, ak je hodnota 23
zahodil „Získali ste prvú cenu“;;
101)
# Vytlačte správu, ak je hodnota 101
zahodil „Získali ste druhú cenu“;;
503)
# Vytlačte správu, ak je hodnota 503
zahodil „Získali ste tretiu cenu“;;
*)
# Vytlačte správu, ak sa hodnota nezhoduje s 23, 101 a 503
zahodil „Prepáčte, skúste to nabudúce“
východ 0;;
esac

#17. Aké rôzne typy slučiek je možné použiť v bash?

Bash skript podporuje tri typy slučiek. Toto sú zatiaľ čo, pre a slučky. Smyčky v bash skontrolujte stav na začiatku slučky. Kým slučka funguje, kým podmienka zostane pravdivá a slučka funguje, kým podmienka zostane nepravdivá. Existujú dva spôsoby použitia pre slučka. Jeden je všeobecný pre slučka, ktorá obsahuje tri časti a ďalšia je pre-in slučka. Použitie týchto troch slučiek je ukázané v nasledujúcom príklade.

Príklad:

#!/bin/bash
# Inicializujte $ n
n=5
# Vypočítajte štvorec 5-1 pomocou cyklu while
kým [ $ n -gt 0 ]
urobiť
sqr= $((n*n))
zahodil „Námestie$ nje$ sqr'
((n--))
hotový

# Vypočítajte štvorec 5-1 pomocou slučky for
pre (( i=5; i>0; ja--))
urobiť
sqr= $((i*i))
zahodil „Námestie$ ije$ sqr'
hotový

# Inicializujte $ x
X=5

# Vypočítajte štvorec 5-1 pomocou cyklu až
[ $ x -ten 0 ]
urobiť
sqr= $((X*X))
zahodil „Námestie$ xje$ sqr'
((X--))
hotový

#18. Ako je možné v bash deklarovať a vyvolávať podprogramy?

V bash sa funkcia alebo postup nazýva podprogram. Vyhlásenie a vyvolanie podprogramu v bash sa líši od ostatných jazykov. Na rozdiel od iných štandardných programovacích jazykov nemožno v podprogramoch deklarovať žiadny argument. Ale lokálne premenné je možné definovať v rámci podprogramu pomocou „miestny“ kľúčové slovo.

Príklad:

#!/bin/bash
# Inicializujte premennú $ x a $ y, ktoré sú globálne
X=10
a=35

# Deklarujte funkciu
myFunc() {
# Deklarujte miestnu premennú $ x
miestny X=pätnásť

# Znova priraďte globálnu premennú $ y
a=25

# Vypočítajte súčet $ x a $ y
S= $((x + y))

# Vytlačte súčet lokálnej premennej $ x a globálnej premennej $ y
zahodil 'Súčet$ xa$ yrovná$ z'
}

# Zavolajte funkciu
myFunc

# Vytlačte súčet globálnych premenných, $ x a $ y
zahodil 'Súčet$ xa$ yrovná$ z'

#19. Ako vystrihnúť a vytlačiť časť reťazcových údajov v bash?

Bash nemá vstavanú funkciu ako ostatné jazyky na orezanie určitej časti reťazcových údajov. Ale pomocou rozšírenia parametra je možné akúkoľvek hodnotu reťazca znížiť v bash. Tri časti je možné definovať v rozšírení parametra oddelením dvojbodkou na orezanie akejkoľvek časti údajov reťazca. Tu sú prvé dve časti povinné a posledná časť je voliteľná. Prvá časť obsahuje hlavnú reťazcovú premennú, ktorá bude použitá na strihanie, druhá časť je počiatočná pozícia, odkiaľ bude struna odstrihnutá a tretia časť je dĺžka strihacej struny. Počiatočná pozícia sa musí počítať od 0 a dĺžka sa musí počítať od 1 hlavného reťazca, aby sa získala rezná hodnota.

Príklad:

#!/bin/bash
# Inicializujte hodnotu reťazca na $ string
reťazec=„Skriptovací jazyk Python“
# Odstrihnite hodnotu reťazca z polohy 7 na koniec reťazca
zahodil $ {string: 7}
# Odrežte hodnotu reťazca 9 znakov z pozície 7
zahodil $ {string: 7: 9}
# Znížte hodnotu reťazca zo 17 na 20
zahodil $ {string: 17: -4}

#20. Spomenúť niektoré spôsoby, ako vykonávať aritmetické operácie v bashe?

Aritmetické operácie je možné v bash vykonávať niekoľkými spôsobmi. „Let“, „expr“, „bc“ a dvojité zátvorky sú najbežnejšie spôsoby vykonávania aritmetických operácií v bash. Použitie týchto príkazov je ukázané v nasledujúcom príklade.

Príklad:

#!/bin/bash
# Výpočet odčítania pomocou príkazu expr a rozšírenia parametra
var1= $( expr 120-100 )
# vytlačte výsledok
zahodil $ var1
# Vypočítajte sčítanie pomocou príkazu let
nechaj var2=200+300
# Vytlačte si rsult
zahodil var2 dolár
# Vypočítajte a vytlačte hodnotu delenia pomocou „bc“, aby ste získali výsledok
# so zlomkovou hodnotou
zahodil „mierka = 2; 44/7 ' | bc
# Vypočítajte hodnotu násobenia pomocou dvojitých zátvoriek
var3= $(( 5*3 ))
# Vytlačte výsledok
zahodil var3 dolár

#21. Ako skontrolovať, či adresár existuje alebo nie, pomocou bash?

Bash má mnoho testovacích príkazov na kontrolu, či súbor alebo adresár existuje alebo nie a typ súboru. '-D' voľba sa používa s adresárovou cestou ako podmienený príkaz na kontrolu, či adresár v bash existuje alebo nie. Ak adresár existuje, vráti hodnotu true, inak vráti hodnotu false.

Príklad:

#!/bin/bash
# Priraďte adresár s cestou v premennej, $ cesta
cesta='/home/ubuntu/temp'
# Skontrolujte, či adresár existuje alebo nie
keby [ -d '$ cesta' ];potom
# Vytlačte správu, ak adresár existuje
zahodil „Adresár existuje“
inak
# Vytlačte správu, ak adresár neexistuje
zahodil „Adresár neexistuje“
byť

#22. Ako je možné skript bash ukončiť bez vykonania všetkých príkazov?

Použitím 'východ' príkaz, skript bash je možné ukončiť bez vykonania všetkých príkazov. Nasledujúci skript skontroluje, či konkrétny súbor existuje alebo nie. Ak súbor existuje, vytlačí celkový počet znakov súboru a ak súbor neexistuje, skript ukončí zobrazením správy.

Príklad:

#!/bin/bash

# Inicializujte názov súboru na premennú $ názov súboru
názov súboru='course.txt'

# Skontrolujte, či súbor existuje alebo nie, pomocou voľby -f
keby [ -f '$ názov súboru' ];potom
# Vytlačte správu, ak súbor existuje
zahodil '$ názov súboruexistuje '
inak
# Vytlačte správu, ak súbor neexistuje
zahodil '$ názov súboruneexistuje '
# Ukončite skript
východ 1
byť

# Ak súbor existuje, spočítajte dĺžku súboru
dĺžka=wc -c $ názov súboru

# Vytlačte dĺžku súboru
zahodil „Celkový počet znakov -$ dĺžka'

#23. Aké sú použitia príkazov break a continue v bash?

prestávka príkaz sa používa na ukončenie zo slučky bez dokončenia úplnej iterácie na základe podmienky a ďalej príkaz sa používa v slučke na vynechanie niektorých príkazov na základe podmienky. Použitie prestávka a ďalej vyhlásenia sú vysvetlené v nasledujúcom príklade.

Príklad:

#!/bin/bash
# Na začiatku cyklu inicializujte premennú $ i na 0
i=0
# slučka sa bude opakovať 10 krát
kým [ $ i -ten 10 ]
urobiť
# Zvýšte hodnotu $ i o 1
((i ++))
# Ak sa hodnota $ i rovná 8, potom slučku ukončite príkazom „break“
keby [ $ i -ekv 8 ];potom
prestávka;
byť
# Ak je hodnota $ i väčšia ako 6, vynechajte posledný príkaz cyklu
# pomocou príkazu continue
keby [ $ i -dať 6 ];potom
ďalej;
byť
zahodil „aktuálna hodnota i =$ i'
hotový

# Vytlačte hodnotu $ i po ukončení zo slučky
zahodil „Teraz hodnota i =$ i'

#24. Ako vytvoriť spustiteľný súbor bash?

Spustiteľné súbory bash je možné vytvoriť pomocou „Chmod“ príkaz. Spustiteľné povolenie je možné nastaviť pomocou „+ X“ v chmod príkaz s názvom súboru skriptu. Bash súbory je možné vykonávať bez explicitného uvedenia „Bash“ príkaz po nastavení vykonávacieho bitu pre tento súbor.

Príklad:

# Nastavte vykonávací bit
$chmod+ x názov súboru.sh

# Spustite spustiteľný súbor
$./názov súboru.sh

#25. Uveďte niektoré možnosti, ktoré sa používajú na testovanie súborov

V testovacom súbore bash je k dispozícii veľa možností. Niektoré možnosti sú uvedené nižšie.

Možnosť Popis
-f Slúži na testovanie, či súbor existuje, a je to bežný súbor.
-A Slúži na testovanie iba toho, či súbor existuje.
-r Slúži na testovanie, či súbor existuje a má povolenie na čítanie.
-v Slúži na testovanie, či súbor existuje a musí mať povolenie na zápis.
-X Slúži na testovanie, či súbor existuje a má povolenie na spustenie.
-d Slúži na testovanie existencie adresára.
-ONI Slúži na testovanie existencie súboru a je to symbolický odkaz.
-S Slúži na testovanie existujúceho súboru a je to soket.
-b Slúži na testovanie, či je súbor blokovým zariadením.
-s Slúži na kontrolu, či súbor nemá nulové veľkosti.
-napr Slúži na kontrolu toho, či je obsah prvého súboru novší ako druhý súbor. Napríklad file1 -nt file2 naznačuje, že file1 je novší ako file2.
-nie Slúži na kontrolu obsahu prvého súboru, ktorý je starší ako druhý súbor. Napríklad file1 --ot file2 znamená, že file1 je starší ako file2.
-ef Slúži na kontrolu, či dva pevné odkazy odkazujú na ten istý súbor. Napríklad flink1 -ef flink2 naznačuje, že flink1 a flink2 sú pevné odkazy a obidva odkazujú na ten istý súbor.

#26. Čo znamená „bc“ a ako je možné tento príkaz použiť v bash?

Úplná forma „bc“ je Bash kalkulačka presnejšie vykonávať aritmetické operácie v bashe. Zlomková časť sa vynechá, ak sa v bash pomocou aritmetických operácií vykoná ‘expr’ príkaz. Frakčnú časť je možné zaokrúhliť aj pomocou mierka hodnotu s 'Bc' príkaz.

Príklad:

#!/bin/bash
# Vypočítajte delenie bez zlomkovej hodnoty
zahodil '39 / 7 ' | bc

# Vypočítajte delenie s celou zlomkovou hodnotou
zahodil '39 / 7 ' | bc -ten

# Vypočítajte delenie pomocou troch číslic za desatinnou čiarkou
zahodil „mierka = 3; 39/7 ' | bc

#27. Ako môžete vytlačiť konkrétny riadok súboru v bash?

Existuje niekoľko spôsobov, ako vytlačiť konkrétny riadok v bash. Ako 'awk', 'sed' a „Chvost“ príkazy, pomocou ktorých je možné vytlačiť konkrétny riadok súboru v bash, je znázornený v nasledujúcom príklade.

Príklad:

#!/bin/bash

# Prečítajte a uložte prvý riadok zo súboru pomocou príkazu `awk` s premennou NR
riadok 1=awk '{if (NR == 1) print $ 0}'course.txt
# Vytlačte riadok
zahodil $ riadok1

# Prečítajte si druhý riadok zo súboru pomocou príkazu `sed` s voľbou -n
riadok 2=sed -n2p kurz.txt
# Vytlačte riadok
zahodil $ riadok2

# Prečítajte si posledný riadok zo súboru pomocou príkazu `tail 's voľbou -n
riadok 3=chvost -n 1course.txt
# Vytlačte súbor
zahodil $ riadok3

#28. Čo je IFS?

IFS je špeciálna premenná shellu. Úplná forma IFS je interný oddeľovač polí,
slúži ako oddeľovač na oddelenie slova od riadka textu. Používa sa hlavne na rozdelenie reťazca, čítanie príkazu, nahradenie textu atď.

Príklad:

#!/bin/bash
# Deklarovať ':' ako oddeľovač pre rozdelenie textu
IFS=':'
# Priraďte textové údaje pomocou ':' k $ textu
text=„Červená: zelená: modrá“
# for loop prečíta každé slovo po rozdelení textu na základe IFS
prehodv $ text;urobiť
# Vytlačte si slovo
zahodil $ hodín
hotový

#29. Ako zistím dĺžku reťazcových údajov?

„Expr“, „wc“ a „Awk“ príkazy možno použiť na zistenie dĺžky reťazcových údajov v bash. ‘expr’ a „Awk“ príkazy použiť dĺžka možnosť, „WC“ príkaz používa „–C“ možnosť spočítať dĺžku reťazca.

Príklad:

Použitie vyššie uvedených príkazov je ukázané v nasledujúcom skripte.

#!/bin/bash
# Počítajte dĺžku pomocou možnosti „expr“
zahodil exprdĺžka„Mám rád PHP“
# Počítajte dĺžku pomocou príkazu `wc`
zahodil „Mám rád Bash“ | wc -c
# Počítajte dĺžku pomocou príkazu `awk`
zahodil „Páči sa mi Python“ | awk '{print length}'

#30. Ako spustiť viac bash skriptov súbežne?

Viaceré skripty bash je možné vykonávať súbežne pomocou nohup príkaz. Ako je možné paralelne vykonávať viacero súborov bash z priečinka, ukazuje nasledujúci príklad.

Príklad:

# Priraďte názov priečinka ceste v premennej $ dir, ktorá obsahuje
# viac súborov bash
k vám='home/Ubuntu/temp'

# for loop načíta každý súbor z adresára a spustí súbežne
preskriptvk vám/ *.sh
urobiť
nohup bash '$ skript' &
hotový

Záver:

V tomto článku je popísaných najzákladnejších otázok týkajúcich sa rozhovoru s bash skriptom pre čitateľov, ktorí chcú začať kariéru ako bash programátor.