Comenzi Bash și programare Bash - Lecția 6

Fiecare script bash ar trebui să înceapă cu această introducere. Această introducere definește shell-ul cu care urmează să fie executat scriptul. Numele, inclusiv calea, este permis acolo și pentru orice alt shell dorit, cu condiția ca acesta să fie utilizat. Adesea se folosește #!/Bin/sh, astfel încât programul să poată fi folosit și pe un computer pe care de ex. Sh Shell rulează. Există, de asemenea, un link către/bin/bash sub Linux/bin/sh. Prin urmare, un script cu #!/Bin/sh poate fi executat și pe orice computer Linux. Prefer #!/Bin/bash, deoarece pe de o parte bash și sh shell nu sunt 100% compatibile și pe de altă parte probabilitatea ca scriptul să ruleze pe un computer non-Linux este foarte scăzută.

comenzi

Punctul și virgula este folosit pentru a separa comenzile. Dacă introduceți următoarele comenzi în consola de text

1 de returnat. Cu toate acestea, nu sunt conștient de acestea. Nu am găsit încă o sursă pentru asta. Este posibil să fie apoi necesar să fie determinat experimental.

De obicei, această caracteristică este utilizată pentru a evalua erorile. În capitolul următor „Testul de comandă”, acesta va fi folosit în practică.

Comanda de testare este utilizată pentru a verifica tipurile de fișiere sau existența fișierelor și pentru a compara valorile. Apelul se face cu

unde comparația conține testul sau comparația. Ca rezultat, testul returnează 0 pentru adevărat și 1 pentru fals. Valoarea returnată este generată folosind variabila proprie a shell-ului $? determinat.

Există comparații pentru fișiere (fișier), șiruri de caractere (șir) și numere întregi (întreg). Numerele întregi sunt numere întregi, adică fără zecimale!

comparaţie Explicaţie
STRING1 == STRING2 șirul1 și șirul2 sunt aceleași
STRING1! = STRING2 șirul1 și șirul2 nu sunt aceleași
INTEGER1 -eq INTEGER2 Integer-Number1 este același cu Integer-Number2
INTEGER1 -gt INTEGER2 Numărul întreg 1 este mai mare decât numărul întreg 2
INTEGER1 -lt INTEGER2 Numărul întreg 1 este mai mic decât numărul întreg2
-d FIȘIER Fișierul FILE există și este un director
-f FIȘIER Fișierul FILE există și este un fișier obișnuit

Lista comparațiilor nu este completă. Mai multe comparații pot fi găsite în „testul omului 1”.

Puteți combina mai multe comparații cu AND logic (ȘI) sau OR logic (OR). Pentru legătura ȘI, comparațiile sunt combinate cu -a, pentru legătura SAU cu -o.

Comparație1 -a Comparație2 -a. -o comparație N         ȘI operațiune

Compare1 -o Compare2 -o. -o comparație N         SAU link

În operațiunea ȘI, toate comparațiile trebuie să fie ADEVĂRATE, adică să returneze valoarea 0, astfel încât întreaga expresie să fie ADEVĂRATĂ. Cu legătura SAU, una dintre comparații trebuie să fie ADEVĂRATĂ, astfel încât întreaga expresie să fie ADEVĂRATĂ.

Există 2 notații pentru testul de comandă. Primul

Spațiile dintre parantezele pătrate și comparația trebuie respectate!

Iată câteva exemple cu prima notație: