Bash Pagina 25: Diferență între versiuni
Admin (discuție | contribuții) |
Admin (discuție | contribuții) |
||
(Nu s-a afișat o versiune intermediară efectuată de același utilizator) | |||
Linia 5: | Linia 5: | ||
'''Tipuri de teste condiționale''' | '''Tipuri de teste condiționale''' | ||
1. | 1. ''Teste pe fișiere și directoare'' | ||
- `<nowiki>[[ -e $filename ]]</nowiki>` – Adevărat dacă fișierul indicat de `$filename` există. | - `<nowiki>[[ -e $filename ]]</nowiki>` – Adevărat dacă fișierul indicat de `$filename` există. | ||
- `<nowiki>[[ -d $dirname ]]</nowiki>` – Adevărat dacă `$dirname` este un director. | - `<nowiki>[[ -d $dirname ]]</nowiki>` – Adevărat dacă `$dirname` este un director. | ||
2. | 2. ''Teste pe șiruri de caractere'' | ||
- `<nowiki>[[ $str ]]</nowiki>` – Adevărat dacă `$str` nu este gol. | - `<nowiki>[[ $str ]]</nowiki>` – Adevărat dacă `$str` nu este gol. | ||
- `<nowiki>[[ $str = "ceva" ]]</nowiki>` – Adevărat dacă `$str` este egal cu șirul `"ceva"`. | - `<nowiki>[[ $str = "ceva" ]]</nowiki>` – Adevărat dacă `$str` este egal cu șirul `"ceva"`. | ||
3. | 3. ''Teste aritmetice'' | ||
- Pot fi realizate cu operatori specifici precum `-lt`, `-le`, `-eq`, `-ne`, `-gt`, `-ge` pentru compararea valorilor numerice. | - Pot fi realizate cu operatori specifici precum `-lt`, `-le`, `-eq`, `-ne`, `-gt`, `-ge` pentru compararea valorilor numerice. | ||
'''Exemple de expresii condiționale'' | '''Exemple de expresii condiționale''' | ||
- | - ''Sintaxa generală'': `<nowiki>[[ expresie ]]</nowiki>` | ||
- Spațiile din jurul expresiei sunt foarte importante pentru ca aceasta să fie interpretată corect de shell. | - 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 (`=`). | - De asemenea, spațiile trebuie respectate și în jurul comutatoarelor (ex: `-e`) și al operatorului egal (`=`). |
Versiunea curentă din 27 octombrie 2024 08:54
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.