Bash Pagina 47: Diferență între versiuni
Admin (discuție | contribuții) Fără descriere a modificării |
Admin (discuție | contribuții) |
||
(Nu s-a afișat o versiune intermediară efectuată de același utilizator) | |||
Linia 14: | Linia 14: | ||
=== Exemplu === | === Exemplu === | ||
[[ -z $1 ]] | <nowiki>[[ -z $1 ]]</nowiki> && echo "argument lipsă" >&2 | ||
În acest exemplu, dacă variabila '''$1''' este goală, va fi afișat mesajul „argument lipsă” pe standard error. | În acest exemplu, dacă variabila '''$1''' este goală, va fi afișat mesajul „argument lipsă” pe standard error. | ||
Linia 21: | Linia 21: | ||
=== Exemplu de utilizare combinată === | === Exemplu de utilizare combinată === | ||
[[ -z $1 ]] || { echo "argument lipsă" >&2; exit 1; } | <nowiki>[[ -z $1 ]]</nowiki> || { echo "argument lipsă" >&2; exit 1; } | ||
În acest exemplu, dacă variabila '''$1''' este goală, se va afișa mesajul „argument lipsă” și scriptul va ieși cu codul de stare 1. | În acest exemplu, dacă variabila '''$1''' este goală, se va afișa mesajul „argument lipsă” și scriptul va ieși cu codul de stare 1. | ||
Versiunea curentă din 28 octombrie 2024 13:24
Operatori de scurtcircuitare în Bash: || și &&
Operatorii || și && sunt utilizați în Bash pentru a controla execuția instrucțiunilor în funcție de starea de returnare a instrucțiunilor anterioare. Aceștia funcționează ca o prescurtare pentru instrucțiunile if, simplificând astfel codul și îmbunătățind lizibilitatea.
Operatorul &&
Operatorul && va executa instrucțiunea următoare doar dacă instrucțiunea anterioară a fost executată cu succes (adică a returnat un cod de stare 0). Acesta este util pentru a crea lanțuri de comenzi care depind una de cealaltă.
Exemplu
mkdir newdir && cd newdir
În acest exemplu, comanda cd newdir va fi executată doar dacă directorul newdir a fost creat cu succes.
Operatorul ||
Operatorul || va executa instrucțiunea următoare doar dacă instrucțiunea anterioară a eșuat (adică a returnat un cod de stare diferit de 0). Acest operator este util pentru gestionarea erorilor și a mesajelor de alertă.
Exemplu
[[ -z $1 ]] && echo "argument lipsă" >&2
În acest exemplu, dacă variabila $1 este goală, va fi afișat mesajul „argument lipsă” pe standard error.
Combinarea operatorilor
Se pot combina operatorii && și || pentru a controla fluxul de execuție în funcție de starea comenzilor anterioare.
Exemplu de utilizare combinată
[[ -z $1 ]] || { echo "argument lipsă" >&2; exit 1; }
În acest exemplu, dacă variabila $1 este goală, se va afișa mesajul „argument lipsă” și scriptul va ieși cu codul de stare 1.
Atenție: Utilizarea incorectă a acestor operatori poate duce la comportamente neașteptate. De exemplu, scrierea de mai sus, fără acolade corecte, va duce la o ieșire neadecvată scopului propus, indiferent de condiție.
Observații
Operatorii || și && sunt extrem de utili pentru simplificarea scripturilor și reducerea necesității de a scrie structuri complexe de control. Acești operatori facilitează gestionarea erorilor și permit crearea de comenzi compuse eficient în Bash.