Sunteți pe pagina 1din 4

Shell scripting.

Formatted: Font: (Default) Courier New

Interpretorul de comenzi Shell permite utilizatorului realizarea unor programe, numite Formatted: Font: (Default) Courier New, Bold, Not
Shell Scripts, facilitând construirea unor secvenţe de comenzi ce sunt plasate în nişte Italic, Underline

fişiere de tip text și sunt executate în mod identic cu programele compilate. Shell-ul dispune Formatted: Font: (Default) Courier New, Bold
de un limbaj de programare şi este identificat cu o interfaţă în linia de comandă. Formatted: Font: (Default) Courier New, Bold

Șirul #! de la începutul fișierului poartă denumirea de shebang. Acesta indică sistemului ce program va fi Formatted: Font: (Default) +Body (Calibri), 11 pt,
invocat pentru a interpreta script-ul. English (United States)
Formatted: Font: 11 pt, Bold, Not Italic, English (United
#!/bin/bash
States)
Caracterul # semnifică începutul unui comentariu care durează până la sfârșitul liniei. Comanda
Formatted: Font: (Default) Courier New, Bold
exit este folosită pentru a indica valoarea de retur a script-ului. Este implicit 0.
Formatted: Font: (Default) Courier New
Shell-ul prezintă o serie de operatori folosiți pentru îmbinarea comenzilor. Formatted: Font: (Default) Courier New
Concatenarea comenzilor. Următorii operatori sunt folosiți pentru concatenarea diverselor
Formatted: Font: (Default) Courier New, Bold
comenzi:
 command1 ; command2 - comenzile sunt executate secvențial (una după alta); Formatted: Font: (Default) Courier New, Bold
 command1 && command2 - command2 este executată numai dacă command1 are Formatted: Font: (Default) Courier New, Bold
valoarea de retur 0;
 command1 || comand2 - command2 este executată numai dacă command1 are valoarea Formatted: Font: (Default) Courier New, Bold
de retur diferită de 0.
Înlănțuirea comenzilor. Înlănțuirea comenzilor se realizează folosind operatorul | (pipe). Formatted: Font: (Default) Courier New
În această situație ieșirea unei comenzi devine intrarea pentru cealaltă. Formatted: Font: (Default) Courier New, Bold

Variabile. Ca orice limbaj, shell-ul permite utilizarea de variabile. Spre deosebire de Formatted: Font: (Default) Courier New, Bold
limbajele cunoscute, variabilele shell nu au tipuri. O variabilă poate fi evaluată atât ca număr Formatted: Font: (Default) Courier New, Bold
cât şi ca şir de caractere.
Sintaxa shell este foarte strictă; NU este permis să existe spaţii între numele variabilei şi Formatted: Font: (Default) Courier New
caracterul = sau între caracterul = şi valoarea variabilei.
Se observă că valoarea unei variabile este referită prin folosirea simbolului $. Formatted: Font: (Default) Courier New
Operații cu variabile. Asupra variabilelor se pot efectua operații aritmetice (folosind
operatori matematici) și operații logice (folosind operatori logici)
Operatorii matematici uzuali:
 + - adunarea; Formatted: Font: (Default) Courier New

 - - scăderea; Formatted: Font: (Default) Courier New, Bold

 / - împărțirea; Formatted: Font: (Default) Courier New

 % - restul împărțirii ( modulo) ; Formatted: Font: (Default) Courier New

 * - înmulțirea; Formatted: Font: (Default) Courier New, Bold

 ** - ridicarea la putere. Formatted: Font: (Default) Courier New, Bold


Pentru a evalua o expresie se folosesc parantezele mari sub următoarea sintaxă:
[ expresie ]
Evaluarea aritmetică. Expandarea aritmetica permite evaluarea unei expresii aritmetice și substituirea Formatted: Indent: Left: 0", First line: 0.25", Space
ei cu rezultatul. Există două formate pentru expandarea aritmetica: Before: 2 pt, After: 0 pt, Line spacing: Multiple 1.06 li,
▪ Outline numbered + Level: 3 + Aligned at: 0" + Tab
after: 0" + Indent at: 0.5", Keep with next, Keep lines
 $[expresie] ; together
Formatted: Font: (Default) Calibri, Font color: Teal

Operatori aritmetici folosiți în evaluarea expresiilor: Formatted: Font: (Default) Courier New

-eq (este egal cu); Formatted: Font: (Default) Courier New, Bold, Font
color: Text 1
-ne (nu este egal cu);
-lt (mai mic decat);
-le (mai mic sau egal);
-gt (mai mare decat);
-ge (mai mare sau egal).
Operatori pentru întregi:

- int1 -eq int2 - întoarce True dacă int1=int2; Formatted: Font: (Default) Courier New

- int1 -ge int2 - întoarce True dacă int1>=int2; Formatted: Font: (Default) Courier New

- int1 -gt int2 - întoarce True dacă int1>int2; Formatted: Font: (Default) Courier New

- int1 -le int2 - întoarce True dacă int1<=int2; Formatted: Font: (Default) Courier New

- int1 -lt int2 - întoarce True dacă int1<int2; Formatted: Font: (Default) Courier New

- int1 -ne int2 - întoarce True dacă int1 diferit de int2. Formatted: Font: (Default) Courier New

Operatori pentru șiruri de caractere:

- str1=str2 - întoarce True dacă str1=str2; Formatted: Font: (Default) Courier New

- str1!=str2 - întoarce True dacă str1 diferit de str2; Formatted: Font: (Default) Courier New

- str - întoarce True dacă str nu este vid; Formatted: Font: (Default) Courier New

- -n str - întoarce True dacă lungimea şirului este mai mare ca 0; Formatted: Font: (Default) Courier New

- -z str - întoarce True dacă şirul are lungimea 0. Formatted: Font: (Default) Courier New

Exemplu: [_”$a”_ =_”$b”_] - se compară valorile a şi b, simbolul ‚_’ semnifică spațiu Formatted: Font: (Default) Courier New, Bold
(blank space).
Operatori pentru fișiere:

- -d nume_fişier - întoarce True dacă fişierul este director; Formatted: Font: (Default) Courier New
- -f nume_fişier - întoarce True dacă fişierul este fişier obişnuit; Formatted: Font: (Default) Courier New
- -r nume_fişier - întoarce True dacă fişierul poate fi citit de către proces; Formatted: Font: (Default) Courier New
- -s nume_fişier - întoarce True dacă fişierul are o lungime diferită de 0; Formatted: Font: (Default) Courier New
- -w nume_fişier - întoarce True dacă fişierul poate fie scris de către proces; Formatted: Font: (Default) Courier New
- -x nume_fişier - întoarce True dacă fişierul este executabil. Formatted: Font: (Default) Courier New

Operatori logici:
- ! expresie - întoarce True True dacă expresia nu este adevărată;
- expresie1 -a expresie2 - întoarce True True dacă cele două expresii sunt ambele adevărate
(şi);
- expresie1 -o expresie2 - întoarce True True dacă expresia 1 sau expresia 2 sunt adevărate
(sau).
Alte variabile importante:
- $# - conține numărul de opțiuni transmise programului în linia de comandă; Formatted: Font: (Default) Courier New
- $? - conține valoarea de ieșire a ultimei comenzi executate (orice program executat întoarce Formatted: Font: (Default) Courier New
o valoare; de obicei valoarea 0 înseamnă terminare normală a programului);
- $0 - numele scriptului (numele programului); Formatted: Font: (Default) Courier New
- $* - conține toate argumentele care au fost transmise; Formatted: Font: (Default) Courier New
- "$@" - conține toate argumentele care au fost transmise programului în linia de comandă, Formatted: Font: (Default) Courier New
fiecare între "".
Structuri de control pentru script-uri. În cadrul programării shell deosebim 2 tipuri de
Formatted: Font: (Default) Courier New
structuri principale:
 structuri de decizie : if, select și case Formatted: Font: (Default) Courier New

structuri iterative (de buclă): while, until și for. Formatted: Font: (Default) Calibri, English (United
States)
 if <lista_comenzi_1>
Formatted: Font: (Default) Calibri, Font color: Custom
then Color(RGB(0,0,10)), English (United States)
<lista_comenzi_2>
Formatted: Font: (Default) Calibri, English (United
[ else States)
<lista_comenzi_3> ]
Formatted: Font: (Default) Calibri, Font color: Custom
fi
Color(RGB(0,0,10)), English (United States)
 case<expr>in Formatted: Font: (Default) Calibri, English (United
<sir_valori_1>)<lista_comenzi_1>;; States)
<sir_valori_2>)<lista_comenzi_2>;; Formatted: Font: (Default) Calibri, Font color: Custom
..... Color(RGB(0,0,10)), English (United States)
<sir_valori_N-1>)<lista_comenzi_N-1>;; Formatted: Font: (Default) Calibri, English (United
<sir_valori_N>)<lista_comenzi_N> States)
esac Formatted: Font: (Default) Calibri, Font color: Custom
 while <lista_comenzi_1> Color(RGB(0,0,10)), English (United States)
do
Formatted: Font: (Default) Calibri, English (United
<lista_comenzi_2> States)
done
Formatted: Font: (Default) Calibri, Font color: Custom
Color(RGB(0,0,10)), English (United States)
 until <lista_comenzi_1>
do Formatted: Font: (Default) Calibri, English (United
<lista_comenzi_2> States)
Formatted: Font: (Default) Courier New
Done

 for <var> [ in <text> ]


do
<lista_comenzi>
Done

exit cod Formatted: Font: (Default) Courier New


Efect: se termină (se oprește) execuția script-ului în care apare și se întoarce drept cod de
retur valoarea specificată.
Formatted: Font: (Default) Courier New

Formatted: English (United States)

Formatted: Font: (Default) Courier New, Bold, Font


color: Text 1

S-ar putea să vă placă și