Bash Pagina 47: Diferență între versiuni
Admin (discuție | contribuții) |
Admin (discuție | contribuții) |
||
Linia 14: | Linia 14: | ||
=== Exemplu === | === Exemplu === | ||
<nowiki>[[ -z $1 ]]</nowiki> | <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. | ||
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.