30 script bash Întrebări și răspunsuri la interviu

30 Bash Script Interview Questions



Scriptarea Bash este un limbaj de programare foarte util și puternic, care este utilizat în principal pentru automatizarea oricărei sarcini manuale. Un solicitant de locuri de muncă care dorește să fie tester de automatizare sau programator bash trebuie să se confrunte cu câteva întrebări frecvente în interviu. Există diferite tipuri de scripturi shell în Linux. Unul dintre scripturile shell populare și cele mai utilizate este Bourne Again Shell sau Bash. 30 de întrebări importante și răspunsuri la interviu despre limbajul scripting bash sunt descrise în acest articol pentru a pregăti lucrarea.

# 01. Ce este scriptul bash?

Scriptul bash este un limbaj de programare shell. În general, executăm multe tipuri de comenzi shell de la terminal tastând fiecare comandă separat care necesită timp și eforturi. Dacă trebuie să rulăm din nou aceleași comenzi, atunci trebuie să executăm din nou toate comenzile de la terminal. Dar folosind un script bash, putem stoca multe instrucțiuni de comandă shell într-un singur fișier bash și putem executa fișierul oricând printr-o singură comandă. Multe sarcini legate de administrarea sistemului, instalarea programului, backupul discului, evaluarea jurnalelor etc. se pot face folosind scriptul bash adecvat.







# 02. Care sunt avantajele utilizării scripturilor bash?

Scriptul Bash are multe avantaje care sunt descrise mai jos:



  • Este ușor de utilizat și de învățat.
  • Multe sarcini manuale care trebuie să ruleze frecvent pot fi realizate automat prin scrierea unui script bash.
  • Secvența mai multor comenzi shell poate fi executată de o singură comandă.
  • Scriptul Bash scris într-un sistem de operare Linux se poate executa cu ușurință în alt sistem de operare Linux. Deci, este portabil.
  • Depanarea în bash este mai ușoară decât alte limbaje de programare.
  • Sintaxa liniei de comandă și comenzile care sunt utilizate în terminal sunt similare cu comenzile și sintaxa utilizate în scriptul bash.
  • Scriptul Bash poate fi utilizat pentru a face legătura cu alte fișiere script.

# 03. Menționează dezavantajele scripturilor bash

Unele dezavantaje ale scriptului bash sunt menționate mai jos:



  • Funcționează mai lent decât alte limbi.
  • Scriptul necorespunzător poate deteriora întregul proces și poate genera o eroare complicată.
  • Nu este potrivit pentru dezvoltarea unei aplicații mari și complexe.
  • Conține mai puține structuri de date comparativ cu alte limbaje de programare standard.

# 04. Ce tipuri de variabile sunt utilizate în bash?

Două tipuri de variabile pot fi utilizate în scriptul bash. Acestea sunt:

Variabile de sistem
Variabilele care sunt predefinite și menținute de sistemul de operare Linux se numesc variabile de sistem. Acest tip de variabile sunt întotdeauna utilizate de o literă mare. Valorile implicite ale acestor variabile pot fi modificate în funcție de cerințe.

`set`,` env` și ` printenv Comenzile `pot fi folosite pentru a imprima lista variabilelor de sistem.

Exemplu:





#! / bin / bash
# Variabile de sistem de imprimare

#Print numele shell shell
aruncat $ BASH

# Imprimați versiunea shell Bash
aruncat $ BASH_VERSION

# Imprimați numele directorului principal
aruncat $ ACASĂ

Variabilă definită de utilizator

Variabilele create și întreținute de utilizatori se numesc variabile definite de utilizator. Ele sunt, de asemenea, numite variabile locale. Aceste tipuri de variabile pot fi declarate folosind litere mici sau majuscule sau ambele litere mari și mici. Dar este mai bine să evitați utilizarea tuturor literelor majuscule pentru a diferenția variabilele de variabilele de sistem.
Exemplu:

#! / bin / bash

pe unu=100
aruncat $ num

# 05. Cum să declarați și să ștergeți variabile în bash?

Variabila poate fi declarată în bash după tipul de date sau fără tipul de date. Dacă orice variabilă bash este declarată fără declara , apoi variabila va fi tratată ca un șir. Variabila Bash este declarată cu declara comanda pentru a defini tipul de date al variabilei la declarația de timp.



–R , -i, -a, -A, -l, -u, -t și -X opțiunile pot fi utilizate cu declara comanda pentru a declara o variabilă cu diferite tipuri de date.

Exemplu:

#! / bin / bash

# Declara variabila fără niciun tip
pe unu=10

#Valorile vor fi combinate, dar nu adăugate
rezultat=$ num+douăzeci
aruncat $ rezultat

# Declara variabila cu tip întreg
declara -i pe unu=10

#Values ​​vor fi adăugate
declara -i rezultat= num +douăzeci
aruncat $ rezultat

dezactivat comanda este utilizată pentru a elimina orice variabilă bash. Variabila va fi inaccesibilă sau nedefinită după utilizare dezactivat comanda.

Exemplu:

#! / bin / bash

str=„Linux Hint”
aruncat $str
dezactivat $str
aruncat $str

# 06. Cum se adaugă comentarii într-un script bash?

Comentariile cu o singură linie și mai multe linii pot fi utilizate în scriptul bash. ‘ # Simbolul este utilizat pentru comentariul pe o singură linie. '<<’ simbol cu ​​un delimitator și „:” cu single (‘) sunt utilizate pentru adăugarea de comentarii pe mai multe linii.

Exemplu:

#! / bin / bash
#Printați textul [Comentariu pe o singură linie]
aruncat „Programare Bash”
< Calculați suma
Din două numere [comentariu multiliniu]
adauga comentariu

pe unu=25+35
aruncat $ num
:'
Combină două
Date șir [comentariu multiliniu]
'

Şir='Buna ziua'
aruncat $ string„Lumea”

# 07. Cum puteți combina șirurile într-un script bash?

Valorile șirurilor pot fi combinate în bash în diferite moduri. În mod normal, valorile șirului sunt combinate prin plasarea împreună, dar există alte modalități în bash de a combina datele șirului.

Exemplu:

#! / bin / bash
#Inițializați variabilele
str1=„PHP”
str2=„Bash”
str3=„Perl”

# Imprimați șirul împreună cu spațiul
aruncat $ str1 $ str2 $ str3

#Combinați toate variabilele și stocați-le într-o altă variabilă
str='$ str1,$ str2și$ str3'

#Combinați alte date de șir cu valoarea existentă a șirului
str+=„sunt limbaje de scriptare”

#Printați șirul
aruncat $str

# 08. Ce comenzi sunt utilizate pentru a imprima ieșirea în bash?

`ecou` și `printf` comenzile pot fi utilizate pentru a imprima ieșirea în bash. `ecou Comanda `este utilizată pentru a imprima ieșirea simplă și `printf` comanda este utilizată pentru a imprima ieșirea formatată.

Exemplu:

#! / bin / bash

#Printați textul
aruncat „Bun venit la LinuxHint”
site=„linuxhint.com”
#Printați textul formatat
printf '% s este un site de blog popular n' $ site

# 09. Cum se preia intrarea de la terminalul din bash?

'citiți' comanda este utilizată într-un script bash pentru a prelua intrarea de la terminal.

Exemplu:

#! / bin / bash
Mesaj #Print
aruncat 'Introdu numele tau'
#Primi informații de la utilizator
cititNume
# Imprimați valoarea $ name cu alt șir
aruncat 'Numele tau este$ nume'

# 10. Cum se utilizează argumente din linia de comandă în bash?

Argumentele din linia de comandă sunt citite de 1 $, 2 $, 3 $ ... $ n variabile. Valorile argumentului din linia de comandă sunt furnizate în terminal atunci când se execută scriptul bash. 1 $ este folosit pentru a citi primul argument, 2 USD este folosit pentru a citi al doilea argument și așa mai departe.

Exemplu:

#! / bin / bash
# Verificați dacă este furnizat sau nu orice argument
dacă [[ $ # -eq 0 ]];atunci
aruncat „Nu se dă niciun argument.”
Ieșire 0
fi
# Stocați prima valoare a argumentului
culoare=1 $
# Imprimați argumentul cu alt șir
printf „Culoarea preferată este% s n' $ culoare

# 11. Este bash un limbaj slab tastat? De ce?

Da, bash este considerat un limbaj slab sau slab tastat, deoarece nu necesită declararea tipului de date în momentul declarării variabilei. Toate variabilele bash sunt tratate ca un șir în mod implicit și tipul variabilei va fi setat pe baza valorii curente. Variabilele Bash cu tipuri de date pot fi definite folosind declara comanda cu o anumită opțiune. Dar opțiunile de definire a tipurilor de date sunt limitate și nu acceptă toate tipurile de date. De exemplu, pluti tipul de date nu poate fi declarat folosind declara comanda.

Exemplu:

#! / bin / bash

# Tipul de date al $ myVar este șir în mod implicit
myVar=29

# Imprimați variabila
aruncat $ myVar

# Declarați variabila întreagă $ număr cu valoarea 67
declara -i număr=67

#Printați variabila
aruncat Numărul $

# Atribuiți datele șirului variabilei numerice. Următoarea linie va genera
# eroare de sintaxă și valoarea numărului $ nu se va schimba
număr=„Îmi place bash”
aruncat Numărul $

# 12. Cum se citește al doilea cuvânt sau coloană din fiecare rând al unui fișier?

Al doilea cuvânt sau coloană a unui fișier poate fi citit într-un script bash utilizând cu ușurință diferite comenzi bash, cum ar fi `awk`,` sed` etc. Aici, utilizarea 'awk' este prezentat în exemplul următor.
Exemplu: Să presupunem că fișierul course.txt conține următorul conținut și am imprimat doar al doilea cuvânt din fiecare linie a acestui fișier.

Programare Java CSE201
CSE303 Structura datelor
Programare CSE408 Unix#! / bin / bash
# Următorul script va imprima al doilea cuvânt din fiecare linie din fișierul course.txt.
# ieșirea comenzii pisică va trece la comanda awk care va citi al doilea cuvânt
# din fiecare linie.
aruncat pisicăcurs.txt| awk „{print $ 2}”

# 13. Cum să declarați și să accesați o variabilă matrice în bash?

Atât matricele numerice, cât și cele asociative sunt susținute de un script bash. O variabilă matrice poate fi declarată cu și fără comandă declare. -la opțiunea este utilizată cu comanda declare pentru a defini o matrice numerică și -LA opțiunea este utilizată cu declarația declare pentru a defini o matrice asociativă în bash. Fără comandă declare, matricea numerică poate fi definită numai în bash.

Exemplu:

#! / bin / bash

# Declarați o matrice numerică simplă
arr1=(CodeIgniter Laravel ReactJS)

# Imprimați valoarea primului element de $ arr1
aruncat $ {arr1 [0] {

# Declarați o matrice numerică utilizând comanda declare
declara -la arr2=(HTML CSS JavaScript)

# Imprimați a doua valoare a elementului $ arr2
aruncat $ {arr2 [1]}

# Declarați un tablou asociativ folosind declarația declare
declara -LA arr3=( [cadru]= Laravel[CMS]= Wordpress[Bibliotecă]= JQuery)

# Imprimați a treia valoare a elementului $ arr3
aruncat $ {arr3 [Library]}

Toate elementele unui tablou pot fi accesate utilizând orice buclă sau simbol „*” ca index de matrice.

# 14. Cum pot fi folosite declarațiile condiționale în bash?

Cea mai comună afirmație condițională în majoritatea limbajelor de programare este if-elseif-else afirmație. Sintaxa lui if-elseif-else declarația din bash este puțin diferită de alte limbaje de programare. 'Dacă' declarația poate fi declarată în două moduri într-un script bash și în fiecare tip de 'dacă' blocul trebuie închis cu ‘fi’ . 'dacă' instrucțiunea poate fi definită de al treilea paranteză sau de prima paranteză ca și alte limbaje de programare.

Sintaxă:
LA.

dacă [condiție];
atunci
declarații
fi

B.

dacă [condiție];atunci
declarații1
altceva
afirmație2
fi

C.

dacă [condiție];atunci
afirmație1
elif[condiție];atunci
afirmație2
….
altceva
enunțul n
fi

Exemplu:

#! / bin / bash

# Atribuiți o valoare lui $ n
n=30
# Verificați $ n este mai mare de 100 sau nu
dacă [ $ n -gt 100 ];atunci
aruncat '$ neste mai mic de 100 '
# Verificați $ n id mai mare de 50 sau nu
elif [ $ n -gt cincizeci ];atunci
aruncat '$ neste mai mic de 50 '
altceva
aruncat '$ neste mai mic de 50 '
fi

# 15. Cum se compară valorile din bash?

Șase tipuri de operatori de comparație pot fi folosiți în bash pentru a compara valorile. Există două moduri de a utiliza acești operatori în bash, în funcție de tipul de date. Acestea sunt menționate mai jos.

Comparație de șiruri Integer Comarison Descriere
== -eq Este folosit pentru a verifica egalitatea
! = -născut Este folosit pentru a verifica inegalitatea
< -Lt Se utilizează verificați dacă prima valoare este mai mică decât a doua valoare sau nu
> -gt Se utilizează verifică dacă prima valoare este mai mare decât a doua valoare sau nu
<= -la Se utilizează verificați dacă prima valoare este mai mică sau egală cu a doua valoare sau nu
> = -da Se utilizează verificați dacă prima valoare este mai mare sau egală cu a doua valoare sau nu

Exemplu:

#! / bin / bash
# Inițializați $ n
n=130
sau='chiar'
# Verificați $ n este mai mare sau egal cu 100 sau nu utilizați „–ge”.
dacă [ $ n -da 100 ];atunci
aruncat '$ neste mai mare sau egal cu 100 '
altceva
aruncat '$ neste mai mic de 100 '
fi
# Verificați $ n este par sau impar folosind operatorul „==”
dacă (( $ o=='chiar' ));atunci
aruncat „Numărul este par”
altceva
aruncat „Numărul este impar”
fi

# 16. Care afirmație condițională poate fi utilizată ca alternativă la afirmațiile if-elseif-else din bash?

'caz' declarația poate fi utilizată ca o alternativă tp if-elseif-if afirmație. Sintaxa pentru 'caz' declarația din scripturile bash este diferită de comutator declarația altor limbaje de programare. 'caz' blocul este închis de „Esac” declarație în bash. Nu ' pauză „Declarația este utilizată în interiorul„ caz ‘Bloc pentru a termina din bloc.

Sintaxă:

caz în
Model de potrivire1)comenzi;;
Model de potrivire2)comenzi;;
……
Model de potrivire n)comenzi;;
esac

Exemplu:

#! / bin / bash
#Inițializați variabila $ ticket
bilet=101
# Comparați valoarea biletului $ cu 23, 101 și 503
caz $ bilet în
2. 3)
# Imprimați mesajul dacă valoarea este 23
aruncat „Ai primit primul premiu”;;
101)
# Imprimați mesajul dacă valoarea este 101
aruncat „Ai primit premiul II”;;
503)
# Imprimați mesajul dacă valoarea este 503
aruncat „Ai primit premiul al treilea”;;
*)
# Imprimați mesajul dacă valoarea nu se potrivește cu 23, 101 și 503
aruncat „Ne pare rău, încearcă pentru data viitoare”
Ieșire 0;;
esac

# 17. Ce tipuri diferite de bucle pot fi utilizate în bash?

Trei tipuri de bucle sunt acceptate de un script bash. Acestea sunt în timp ce, pentru și pana cand bucle. Buclele din bash verifică starea la începutul buclei. In timp ce bucla funcționează până când condiția rămâne adevărată și pana cand bucla funcționează până când condiția rămâne falsă. Există două moduri de utilizare pentru buclă. Unul este general pentru buclă care conține trei părți și alta este pentru-in buclă. Utilizările acestor trei bucle sunt prezentate în exemplul următor.

Exemplu:

#! / bin / bash
# Inițializați $ n
n=5
# Calculați pătratul de 5-1 folosind bucla while
in timp ce [ $ n -gt 0 ]
do
sqr= $((n*n))
aruncat - Pătratul din$ neste$ sqr'
((n--))
Terminat

# Calculați pătratul de 5-1 folosind bucla for
pentru (( eu=5; eu>0; eu--))
do
sqr= $((eu*eu))
aruncat - Pătratul din$ ieste$ sqr'
Terminat

# Inițializați $ x
X=5

# Calculați pătratul de 5-1 folosind bucla până
pana cand [ $ x -la 0 ]
do
sqr= $((X*X))
aruncat - Pătratul din$ xeste$ sqr'
((X--))
Terminat

# 18. Cum pot fi declarate și apelate subrutine în bash?

În bash o funcție sau procedură se numește subrutină. Declarația și apelarea unui subrutin în bash este diferită de alte limbi. Niciun argument nu poate fi declarat în subrutine, spre deosebire de alte limbaje de programare standard. Dar variabilele locale pot fi definite în cadrul subrutinei folosind 'local' cuvânt cheie.

Exemplu:

#! / bin / bash
# Inițializați variabila $ x și $ y care sunt globale
X=10
și=35

# Declarați funcția
myFunc() {
# Declarați variabila locală $ x
local X=cincisprezece

# Alocați din nou variabila globală $ y
și=25

# Calculați suma $ x și $ y
Cu= $((x + y))

# Imprimați suma unei variabile locale, $ x și a variabilei globale, $ y
aruncat 'Suma$ xși$ yegal cu$ z'
}

# Apelați funcția
myFunc

# Imprimați suma variabilelor globale, $ x și $ y
aruncat 'Suma$ xși$ yegal cu$ z'

# 19. Cum să tăiați și să imprimați o parte a unui șir de date în bash?

Bash nu are nicio funcție încorporată ca alte limbi pentru a tăia o parte din datele șirului. Dar folosind extinderea parametrilor, orice valoare a șirului poate fi tăiată în bash. Trei părți pot fi definite în extinderea parametrilor prin separarea cu două puncte pentru a tăia orice parte a datelor șirului. Aici, primele două părți sunt obligatorii, iar ultima parte este opțională. Prima parte conține variabila principală a șirului care va fi folosită pentru tăiere, a doua parte este poziția inițială de unde va fi tăiat șirul și a treia parte este lungimea șirului de tăiere. Poziția inițială trebuie să fie numărată de la 0 și lungimea trebuie să fie numărată de la 1 din șirul principal pentru a recupera valoarea de tăiere.

Exemplu:

#! / bin / bash
# Inițializați o valoare șir în $ șir
şir=„Limbaj de script Python”
# Tăiați valoarea șirului din poziția 7 până la capătul șirului
aruncat $ {string: 7}
# Tăiați valoarea șirului de 9 caractere din poziția 7
aruncat $ {string: 7: 9}
# Tăiați valoarea șirului de la 17 la 20
aruncat $ {string: 17: -4}

# 20. Menționați câteva modalități de a efectua operații aritmetice în bash?

Operațiile aritmetice pot fi realizate în mai multe moduri în bash. „Lasă”, „expr”, „bc” și paranteze duble sunt cele mai comune moduri de a efectua operații aritmetice în bash. Utilizările acestor comenzi sunt prezentate în exemplul următor.

Exemplu:

#! / bin / bash
# Calculul scăderii utilizând expr și extinderea parametrilor
var1= $( expr 120-100 )
# tipăriți rezultatul
aruncat $ var1
# Calculați adăugarea utilizând comanda let
lăsa var2=200+300
# Imprimați rezultatul
aruncat $ var2
# Calculați și imprimați valoarea divizării folosind „bc” pentru a obține rezultatul
# cu valoare fracționată
aruncat 'scala = 2; 44/7 ' | bc
# Calculați valoarea înmulțirii folosind paranteze duble
var3= $(( 5*3 ))
# Imprimați rezultatul
aruncat $ var3

# 21. Cum să verificați dacă există un director sau nu folosind bash?

Bash are multe comenzi de testare pentru a verifica dacă există sau nu un fișier sau director și tipul fișierului. „-D” opțiunea este utilizată cu o cale de director ca instrucțiune condițională pentru a verifica dacă directorul există sau nu în bash. Dacă directorul există, atunci acesta va reveni adevărat, altfel va reveni fals.

Exemplu:

#! / bin / bash
# Alocați directorul cu calea în variabila, calea $
cale=„/ home / ubuntu / temp”
# Verificați dacă directorul există sau nu
dacă [ -d '$ cale' ];atunci
# Imprimați mesajul dacă directorul există
aruncat „Director există”
altceva
# Imprimați mesajul dacă directorul nu există
aruncat „Directorul nu există”
fi

# 22. Cum se poate termina un script bash fără a executa toate instrucțiunile?

Folosind 'Ieșire' comanda, un script bash poate fi terminat fără a executa toate instrucțiunile. Următorul script va verifica dacă un anumit fișier există sau nu. Dacă fișierul există, atunci acesta va imprima totalul caracterelor fișierului și dacă fișierul nu există, va încheia scriptul afișând un mesaj.

Exemplu:

#! / bin / bash

# Inițializați numele fișierului cu variabila, $ filename
nume de fișier=„course.txt”

# Verificați dacă fișierul există sau nu utilizând opțiunea -f
dacă [ -f '$ nume de fișier' ];atunci
# Imprimați mesajul dacă fișierul există
aruncat '$ nume de fișierexista '
altceva
# Imprimați mesajul dacă fișierul nu există
aruncat '$ nume de fișiernu exista'
# Încheiați scriptul
Ieșire 1
fi

# Numărați lungimea fișierului dacă fișierul există
lungime=toaleta -c $ nume de fișier

# Imprimați lungimea fișierului
aruncat „Total caractere -$ lungime'

# 23. Care sunt utilizările declarațiilor break și continue în bash?

pauză declarația este utilizată pentru a termina dintr-o buclă fără a finaliza iterația completă pe baza unei condiții și continua declarația este utilizată într-o buclă pentru a omite unele instrucțiuni bazate pe o condiție. Utilizările pauză și continua afirmațiile sunt explicate în exemplul următor.

Exemplu:

#! / bin / bash
# Inițializați variabila $ i la 0 pentru a porni bucla
eu=0
# bucla va itera fot de 10 ori
in timp ce [ $ i -la 10 ]
do
# Măriți valoarea $ i cu 1
((i ++))
# Dacă valoarea lui $ i este egală cu 8, atunci terminați bucla folosind instrucțiunea „break”
dacă [ $ i -eq 8 ];atunci
pauză;
fi
# Dacă valoarea lui $ i este mai mare de 6, atunci omiteți ultima afirmație a buclei
# utilizând declarația continue
dacă [ $ i -da 6 ];atunci
continua;
fi
aruncat 'valoarea curentă a lui i =$ i'
Terminat

# Imprimați valoarea lui $ i după terminarea din buclă
aruncat 'Acum valoarea lui i =$ i'

# 24. Cum se face executabil un fișier bash?

Fișierele bash executabile pot fi realizate folosind „Chmod” comanda. Permisiunea executabilă poate fi setată folosind „+ X” în chmod comanda cu numele fișierului script. Fișierele Bash pot fi executate fără explicit „Bash” comandă după setarea bitului de execuție pentru acel fișier.

Exemplu:

# Setați bitul de execuție
$chmod+ x nume de fișier.sh

# Rulați fișierul executabil
$./nume de fișier.sh

# 25. Menționați câteva opțiuni care sunt utilizate pentru a testa fișiere

Multe opțiuni sunt disponibile în bash pentru a testa fișierul. Unele opțiuni sunt menționate mai jos.

Opțiune Descriere
-f Este folosit pentru a testa fișierul existent și este un fișier obișnuit.
-Și Este folosit pentru a testa fișierul care există doar.
-r Este folosit pentru a testa fișierul existent și are permisiunea de citire.
-în Este folosit pentru a testa fișierul existent și trebuie să scrie permisiunea.
-X Este folosit pentru a testa fișierul existent și are permisiunea de execuție.
-d Este folosit pentru a testa directorul care există.
-LA Este folosit pentru a testa fișierul care există și este o legătură simbolică.
-S Este folosit pentru a testa fișierul existent și este un socket.
-b Este folosit pentru a testa fișierul este un dispozitiv bloc.
-s Se folosește pentru a verifica dacă fișierul nu are dimensiuni zero.
-de exemplu Folosit pentru a verifica conținutul primului fișier este mai nou decât al doilea fișier. De exemplu, file1 -nt file2 indică faptul că file1 este mai recent decât file2.
-bine Folosea pentru a verifica conținutul primului fișier este mai vechi decât al doilea fișier. De exemplu, file1 -ot file2 indică faptul că file1 este mai vechi decât file2.
-ef Se folosește pentru a verifica dacă două link-uri se referă la același fișier. De exemplu, flink1 -ef flink2 indică faptul că flink1 și flink2 sunt legături dure și ambele se referă la același fișier.

# 26. Ce se înțelege prin „bc” și cum poate fi utilizată această comandă în bash?

Forma completă a „bc” este Calculator Bash pentru a efectua operațiuni aritmetice mai precis în bash. Partea fracționată este omisă dacă orice operație aritmetică se face în bash folosind „Expr” comanda. Partea fracționată poate fi rotunjită și prin utilizarea scară valoare cu „Bc” comanda.

Exemplu:

#! / bin / bash
# Calculați împărțirea fără valoarea fracțională
aruncat „39/7” | bc

# Calculați împărțirea cu valoarea fracțională completă
aruncat „39/7” | bc -la

# Calculați împărțirea cu trei cifre după punctul zecimal
aruncat 'scala = 3; 39/7 ' | bc

# 27. Cum puteți imprima o anumită linie a unui fișier în bash?

Există multe modalități de a imprima o anumită linie în bash. Cum „awk”, „sed” și 'coadă' comenzile pot fi folosite pentru a imprima o anumită linie a unui fișier în bash este prezentat în exemplul următor.

Exemplu:

#! / bin / bash

# Citiți și stocați prima linie din fișier folosind comanda `awk` cu variabila NR
linia 1=awk „{if (NR == 1) tipăriți $ 0}”curs.txt
# Imprimați linia
aruncat $ line1

# Citiți a doua linie din fișier folosind comanda `sed` cu opțiunea -n
randul 2=sed -nCurs 2p.txt
# Imprimați linia
aruncat $ line2

# Citiți ultima linie din fișier folosind comanda `tail` cu opțiunea -n
linia 3=coadă -n 1curs.txt
# Imprimați fișierul
aruncat $ line3

# 28. Ce este IFS?

IFS este o variabilă de shell specială. Forma completă a IFS este Separator de câmp intern,
acționează ca delimitator pentru a separa cuvântul de linia textului. Este utilizat în principal pentru divizarea unui șir, citirea unei comenzi, înlocuirea textului etc.

Exemplu:

#! / bin / bash
# Declare ':' ca delimitator pentru divizarea textului
IFS=':'
# Atribuiți date text cu „:” la $ text
text=„Roșu: verde: albastru”
# for loop va citi fiecare cuvânt după divizarea textului pe baza IFS
pentruoreîn $ text;do
# Imprimați cuvântul
aruncat $ ore
Terminat

# 29. Cum se află lungimea unui șir de date?

„Expr”, „wc” și „Awk” comenzile pot fi folosite pentru a afla lungimea unui șir de date în bash. „Expr” și „Awk” utilizarea comenzilor lungime opțiune, 'Toaleta' utilizează comanda „–C” opțiune de numărare a lungimii șirului.

Exemplu:

Utilizările comenzilor de mai sus sunt prezentate în următorul script.

#! / bin / bash
# Numărați lungimea folosind opțiunea „expr” lungime
aruncat exprlungime„Îmi place PHP”
# Numărați lungimea folosind comanda `wc`
aruncat „Îmi place Bash” | toaleta -c
# Numărați lungimea folosind comanda `awk`
aruncat „Îmi place Python” | awk „{lungimea tipăririi}”

# 30. Cum se execută mai multe script-uri bash în paralel?

Mai multe scripturi bash pot fi executate în paralel folosind nu comanda. Modul în care mai multe fișiere bash pot fi executate în paralel dintr-un folder este prezentat în exemplul următor.

Exemplu:

# Atribuiți un nume de folder cu calea din variabila $ dir care conține
# mai multe fișiere bash
pentru tine=„acasă / Ubuntu / temp”

# for loop va citi fiecare fișier din director și se va executa în paralel
pentruscenariuînpentru tine/ *.SH
do
nu bash '$ script' &
Terminat

Concluzie:

Cele mai multe întrebări de bază ale interviului cu scripturi bash sunt descrise în acest articol pentru cititorii care doresc să înceapă o carieră ca programator bash.