Documente Academic
Documente Profesional
Documente Cultură
Scripturi Linux
Contents
Bazele scripturilor...................................................................................................................................3
Crearea și Executarea primului program BASH:.........................................................................................4
Utilizarea comenzii echo:...........................................................................................................................5
Utilizarea comentariului:...........................................................................................................................6
Utilizarea comentariului pe mai multe linii:...............................................................................................6
Variabilele în scripturi:...............................................................................................................................8
Comanda: IF.............................................................................................................................................12
if-then......................................................................................................................................................12
If-else.......................................................................................................................................................13
If-elif........................................................................................................................................................14
Test..........................................................................................................................................................16
for............................................................................................................................................................18
while........................................................................................................................................................19
while- citim fișierul rând cu rând în scriptul Bash....................................................................................19
let............................................................................................................................................................21
expr.........................................................................................................................................................22
shift..........................................................................................................................................................22
case.........................................................................................................................................................22
read.........................................................................................................................................................23
awk..........................................................................................................................................................23
Bazele scripturilor
Un script, sau așa cum se mai numește - scenariu, este o secvență de comenzi care sunt citite și
executate la rândul lor de un program interpret (interpretor de comenzi), în cazul nostru este un
program de linie de comandă - bash.
Script - este un fișier-text, în care sunt enumerate comenzile uzuale pe care ne-am obișnuit să le
introducem manual, precum și programul indicat care le va executa.
Bash este disponibil în aproape toate versiunile Linux și nu necesită o instalare separată. Lista
shell-urilor disponibile poate fi verificată prin introducerea următoarei comenzi:
cat /etc/shells
/bin/bash
/bin/sh
/bin/tcsh
/bin/csh
which bash
/bin/bash
#!/bin/bash
echo "Hello world"
Comanda echo afișează șirul transmis acesteia ca parametru la ecran. Prima linie a uniu script
este specială, specifică programul care va executa comenzile. Pe de altă parte, prima linie indică
sistemului că acesta nu este doar un fișier text, dar un program și el trebuie executat: de deschis
fișierul, de aflat interpretorul și de executat scriptul. Dacă nu este specificat niciun interpretor de
comenzi, atunci va fi utilizat interpretorul de comenzi implicit al utilizatorului. Dar deoarece nu
toată lumea utilizează bash, atunci trebuie de indicat acesta în mod explicit.
Crearea și executarea primului program BASH:
Puteți rula fișierul bash în trei moduri. O modalitate este prin utilizarea comenzii bash (sau sh)
și alta este prin setarea permisiunii de execuție pentru fișierul bash, și rularea fișierului. Ambele
moduri sunt prezentate aici.
$ bash First.sh
or
$ sh First.sh
or
./fisier_script
Utilizarea comenzii echo :
Puteți utiliza comanda echo cu diverse opțiuni. Unele opțiuni utile sunt menționate în exemplul
următor. Când utilizați comanda „echo” fără nicio opțiune, se adaugă în mod implicit o nouă
linie. Opțiunea „-n” este utilizată pentru a imprima orice text fără a se efectua trecerea la o nouă
linie , iar opțiunea „-e” este utilizată pentru a elimina caracterele cu backslash din ieșire.
În continuare va fi prezentat un script bash cu un numele b2.sh și ce va afișa acest script după ce
va fi lansat:
Utilizarea comentariului:
Simbolul ' # ' (sau ‘:’)este utilizat pentru a adăuga un comentariu pe o singură linie în scriptul
bash. De asemenea pot fi utilizate comentarii pe mai multe linii întrun fișier bash. Pentru aceasta
pot fi folosite simbolurile ‘:’ și „ ’, vedeti exemplul de mai jos.
Variabile în scripturi :
Valoarea unui șir se ia între ghilimele. Dar, în realitate, ghilimelele nu sunt întotdeauna necesare.
Aici se păstrează principalul principiu bash - spațiul, este un simbol special, delimitator, de aceea
dacă nu utilizăm ghilimele, atunci ‘ string ’ se va considera ca o comandă separată , din același
motiv, nu punem spații înainte și după semnul egal într-o expresie aritmetică.
Bash nu face diferența tipurilor de variabile în același mod, ca în limbajele de nivel înalt, cum ar
fi C ++. Puteți atribui atât un număr, cât și un șir unei variabile. În mod egal, toate acestea vor fi
considerate ca șir. Shell-ul acceptă doar concatenarea șirurilor, pentru aceasta indicați numele
variabilelor la rând.
Comanda IF:
if-then
If-else
If-elif
Test
test – un utilitar pentru verificarea tipului de fișier și compararea valorilor. Returnează codul de
returnare 0 (adevărat) sau 1 (fals) în funcție de evaluarea expr. Expresiile pot fi cât unare, atât și binare.
Expresiile unare sunt adesea folosite pentru a verifica starea unui fișier. De asemenea este permisă și
compararea numerelor și șirurilor.
test EXPRESSION
[ EXPRESSION ]
[[ EXPRESSION ]]
for
Buclele (de ex., for sau while) permit executarea unei instrucţiuni sau a unei secvenţe de instrucţiuni în
mod repetat.
1.
#!/bin/bash ./script
for var in first second third fourth fifth The first item
do The second item
echo The $var item The third item
done The fourth item
The fifth item
===
2.
for i in {0..3}
do
echo "Number: $i"
done
Number: 0
Number: 1
Number: 2
Number: 3
3.
for i in {0..20..5}
do
echo "Number: $i"
done
====
Number: 0
Number: 5
Number: 10
Number: 15
Number: 20
4.
for ((i = 0 ; i <= 1000 ; i++)); do
echo "Counter: $i"
done
====
Counter: 0
Counter: 1
Counter: 2
...
Counter: 998
Counter: 999
Counter: 1000
while
while – într-o astfel de buclă, puteți seta o comandă pentru a verifica o anumită condiție și a executa
corpul buclei până când condiția verificată returnează zero (true) sau un semnal de finalizare cu succes a
unei anumite operații. Când condiția buclei returnează o valoare diferită de zero, ceea ce înseamnă o
eroare (false), iar bucla se va opri.
#!/bin/bash ./script 3
var1=$1 3
while [ $var1 -gt 0 ] 2
do 1
echo $var1
var1=$[ $var1 - 1 ]
done
========
Samsung
Nokia
LG
iphone
$bash script_while1.sh
Line No. 1 : Samsung
Line No. 2 : Nokia
Line No. 3 : LG
Line No. 4 : iphone
3.
4.
let
let – efectuează operații aritmetice asupra variabilelor. În majoritatea cazurilor, poate fi considerată o
versiune simplificată a comenzii expr.
#!/bin/bash ./script
let a=3+12 5
expr $a / 3
expr
expr – procesor de expresie generic: evaluează expresia dată (argumentele trebuie separate prin spații).
Expresiile pot fi aritmetice, booleene sau șiruri.
#!/bin/bash ./script
expr 3 + 12 15
expr 12 / 3 4
shift
case
case – construcția case este echivalentă cu constructia switch din limbajul de programare C/C++. Ea
permite executarea unei anumitei bucăți de cod, în funcție de rezultatele verificării condițiilor. Este un
fel de formă scurtă de scriere a unui număr mare de declarații if / then / else și poate fi un instrument
bun pentru crearea tuturor tipurilor de meniuri.
#!/bin/bash ./script
var=b second
case $var in
"a") echo "first";;
"b") echo "second";;
"c") echo "third";;
*) echo "Default";;
esac
Un exemplu cu case:
read
read – citește o linie de date (text, introducere - utilizator) din intrarea standard într-una sau mai multe
variabile.
awk
Schema de apelare awk arată astfel:
$ awk options program file
Awk percepe drept date primite ca un set de înregistrări. Înregistrările sunt în sine nișt seturi de
câmpuri. Mai simplu, dacă nu considerăm posibilitațile de personalizare awk și vorbind despre
un text destul de obișnuit, liniile care sunt separate de caracterele de alimentare a liniei, unde
înregistrarea - o linie. Câmpul - un cuvânt într-o linie.
Awk tratează datele primite ca pe un set de înregistrări. Înregistrările sunt colecții de câmpuri.
Dacă nu luam în considerare posibilitatea de setare a comenzii awk și consideram un text
obișnuit, ale cărui linii sunt separate de caractere trecere în rind nou, o înregistrare este o linie.
Un câmp este un cuvânt într-o linie.
Cu awk, puteți procesa fișiere text. AWK atribuie variabile pentru fiecare câmp de date găsit:
Caracterul spațiului alb cum ar fi space sau tab, este separatorul implicit între câmpurile din awk.
Mai jos, putem observa cele mai frecvent utilizate chei de linie de comandă awk: