Bash Pagina 47
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.