Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| bash_base_1 [2020/03/11 15:30] – créée nekan | bash_base_1 [2021/07/22 08:38] (Version actuelle) – [Pour les expressions régulières] nekan | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ~~CLOSETOC~~ | + | ====== Opérateurs logiques, Conditions ====== |
| - | ====== Opérateurs logiques, Conditions, Boucles | + | <label type=" |
| ===== Opérateurs logiques ===== | ===== Opérateurs logiques ===== | ||
| Ligne 8: | Ligne 8: | ||
| |< 100% 10% 10% 50% 30% >| | |< 100% 10% 10% 50% 30% >| | ||
| ^ Opérateur | ^ Opérateur | ||
| - | | '' | + | | '' |
| echo $? | echo $? | ||
| 0 | 0 | ||
| - | [ ! -z " | + | [ ! -n " |
| echo $? | echo $? | ||
| 1 | 1 | ||
| </ | </ | ||
| - | | '' | + | | '' |
| - | | '' | + | echo $? |
| + | 0 | ||
| + | </ | ||
| + | | '' | ||
| + | echo $? | ||
| + | 0 | ||
| + | </ | ||
| ==== Pour les chaînes de caractères ==== | ==== Pour les chaînes de caractères ==== | ||
| Ligne 22: | Ligne 28: | ||
| Les tests sur les chaînes sont effectués dans une structure à simple crochet. | Les tests sur les chaînes sont effectués dans une structure à simple crochet. | ||
| - | <note important>Linux observe une strict sensibilité à la casse. '' | + | <callout type=" |
| |< 100% 10% 10% 50% 30% >| | |< 100% 10% 10% 50% 30% >| | ||
| Ligne 47: | Ligne 53: | ||
| 1 | 1 | ||
| </ | </ | ||
| - | | '' | + | | '' |
| echo $? | echo $? | ||
| 1 | 1 | ||
| - | [ -z " | + | [ -n " |
| echo $? | echo $? | ||
| 0 | 0 | ||
| Ligne 57: | Ligne 63: | ||
| ==== Pour les nombres ==== | ==== Pour les nombres ==== | ||
| - | Les tests sur les chaînes | + | Les tests sur les nombres |
| |< 100% 10% 10% 50% 30% >| | |< 100% 10% 10% 50% 30% >| | ||
| Ligne 103: | Ligne 109: | ||
| 1 | 1 | ||
| </ | </ | ||
| + | |||
| + | ==== Pour les expressions régulières ==== | ||
| + | |||
| + | Les expressions régulières sont testées avec des doubles crochets et l' | ||
| + | |||
| + | <sxh bash> | ||
| + | [[ $WORD =~ [A-Z]* ]] | ||
| + | echo $? | ||
| + | 0 | ||
| + | [[ $WORD =~ [0-9]* ]] | ||
| + | echo $? | ||
| + | 1</ | ||
| + | |||
| + | Pour plus d' | ||
| ==== Pour les fichiers et dossiers ==== | ==== Pour les fichiers et dossiers ==== | ||
| Ligne 136: | Ligne 156: | ||
| echo $? | echo $? | ||
| 0 | 0 | ||
| + | </ | ||
| + | | '' | ||
| + | [ -h / | ||
| + | echo $? | ||
| + | 0 | ||
| + | [ -h /etc/issue ] | ||
| + | echo $? | ||
| + | 1 | ||
| </ | </ | ||
| Ligne 152: | Ligne 180: | ||
| echo $? | echo $? | ||
| 0 | 0 | ||
| - | chmod -r test | + | chmod +r test |
| [ -r test ] | [ -r test ] | ||
| echo $? | echo $? | ||
| Ligne 160: | Ligne 188: | ||
| echo $? | echo $? | ||
| 0 | 0 | ||
| - | chmod -w test | + | chmod +w test |
| [ -w test ] | [ -w test ] | ||
| echo $? | echo $? | ||
| Ligne 168: | Ligne 196: | ||
| echo $? | echo $? | ||
| 0 | 0 | ||
| - | chmod -x test | + | chmod +x test |
| [ -x test ] | [ -x test ] | ||
| echo $? | echo $? | ||
| Ligne 186: | Ligne 214: | ||
| </ | </ | ||
| - | ===== Tests ===== | + | ===== Conditions & Tests ===== |
| - | ==== if, then, else, fi ==== | + | ==== if, then, elif, else, fi ==== |
| '' | '' | ||
| Ligne 207: | Ligne 235: | ||
| Dans la forme courte, ''&&'' | Dans la forme courte, ''&&'' | ||
| + | === elif === | ||
| + | |||
| + | On peut aussi ajouter d' | ||
| + | <sxh bash>if [ " | ||
| + | then | ||
| + | echo "VAR est égal à A" | ||
| + | elif [ " | ||
| + | then | ||
| + | echo "VAR est égal à B" | ||
| + | elif [ " | ||
| + | then | ||
| + | echo "VAR est égal à C" | ||
| + | # ---- Il peut y avoir autant de conditions elif que l'on souhaite ---- | ||
| + | else | ||
| + | echo "VAR est différent de A, B, C, etc..." | ||
| + | fi</ | ||
| ==== case, esac ==== | ==== case, esac ==== | ||
| Ligne 229: | Ligne 273: | ||
| Chaque valeur de comparaison est indiqué avant un '' | Chaque valeur de comparaison est indiqué avant un '' | ||
| - | ===== Boucles ===== | + | ~~DISCUSSION~~ |
| - | + | ||
| - | + | ||