Bash Pagina 25
Expresii condiționale
Expresiile condiționale sunt utilizate în scripturile shell pentru a verifica anumite condiții și a controla fluxul programului. Aceste expresii permit testarea fișierelor, directoarelor, șirurilor de caractere și a valorilor aritmetice.
- Tipuri de teste condiționale
1. **Teste pe fișiere și directoare**
- `[[ -e $filename ]]` – Adevărat dacă fișierul indicat de `$filename` există. - `[[ -d $dirname ]]` – Adevărat dacă `$dirname` este un director.
2. **Teste pe șiruri de caractere**
- `[[ $str ]]` – Adevărat dacă `$str` nu este gol. - `[[ $str = "ceva" ]]` – Adevărat dacă `$str` este egal cu șirul `"ceva"`.
3. **Teste aritmetice**
- Pot fi realizate cu operatori specifici precum `-lt`, `-le`, `-eq`, `-ne`, `-gt`, `-ge` pentru compararea valorilor numerice.
- Exemple de expresii condiționale
- **Sintaxa generală**: `[[ expresie ]]`
- Spațiile din jurul expresiei sunt foarte importante pentru ca aceasta să fie interpretată corect de shell. - De asemenea, spațiile trebuie respectate și în jurul comutatoarelor (ex: `-e`) și al operatorului egal (`=`).
- Exemple de utilizare
- `[[ $str ]]` – Adevărat dacă șirul `$str` nu este gol. - `[[ $str = "ceva" ]]` – Adevărat dacă `$str` este egal cu șirul `"ceva"`. - `[[ -e $filename ]]` – Adevărat dacă fișierul `$filename` există. - `[[ -d $dirname ]]` – Adevărat dacă `$dirname` este un director.
- Note importante
- Respectarea spațiilor în jurul expresiei și a operatorilor este esențială pentru ca expresia să fie evaluată corect. - Expresia `[[ expresie ]]` întoarce întotdeauna adevărat dacă este scrisă corect și condiția specificată este îndeplinită, permițând astfel controlul precis al execuției în scripturi shell.