Bash Pagina 47

De la Wiki Linux Advanced
Versiunea din 28 octombrie 2024 13:24, autor: Admin (discuție | contribuții) (→‎Exemplu)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)
Sari la navigare Sari la căutare

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.

Pagina anterioară | Următoarea pagină