Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| bash_base_2 [2020/03/11 16:24] – echo nekan | bash_base_2 [2021/03/05 16:17] (Version actuelle) – nekan | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ~~CLOSETOC~~ | + | ====== Boucles |
| - | ====== Boucles ====== | + | <label type=" |
| - | + | <callout type=" | |
| - | <note important> | + | |
| ===== Boucles à séquence définie ===== | ===== Boucles à séquence définie ===== | ||
| Ligne 12: | Ligne 11: | ||
| <sxh bash>for I in $(seq 1 10) | <sxh bash>for I in $(seq 1 10) | ||
| do | do | ||
| + | echo " | ||
| + | done | ||
| + | |||
| + | for FILE in $(ls) | ||
| + | do | ||
| + | du $FILE | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | '' | ||
| + | |||
| + | <sxh bash>for ((I=0 ; 10 - $I ; I++)) | ||
| + | do | ||
| + | echo " | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | ===== Boucles à séquence variable ===== | ||
| + | |||
| + | Les boucles à séquence variable représente les boucles dont la quantité d' | ||
| + | |||
| + | ==== while, do, done ==== | ||
| + | |||
| + | '' | ||
| + | |||
| + | <sxh bash>I=1 | ||
| + | while [[ $I -lt 10 ]] | ||
| + | do | ||
| + | echo " | ||
| + | I=$(($I + 1)) | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | '' | ||
| + | |||
| + | <sxh bash> | ||
| + | do | ||
| + | echo " | ||
| + | done < / | ||
| + | </ | ||
| + | |||
| + | ==== until, do, done ==== | ||
| + | |||
| + | '' | ||
| + | |||
| + | <sxh bash>I=1 | ||
| + | until [[ $I -eq 10 ]] | ||
| + | do | ||
| + | echo " | ||
| + | I=$(($I + 1)) | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | ====== HereDoc ====== | ||
| + | |||
| + | Quand on écrit des script, on a parfois besoin d' | ||
| + | |||
| + | Le début du bloc est spécifié par ''<<'' | ||
| + | |||
| + | Pour des besoins de clarté dans un script, ''<<'' | ||
| + | |||
| + | <sxh bash># Exemple 1 | ||
| + | cat << EOF | ||
| + | test | ||
| + | test2 | ||
| + | EOF | ||
| + | EOF | ||
| + | |||
| + | # Affichera | ||
| + | test | ||
| + | test2 | ||
| + | EOF | ||
| + | | ||
| + | # Le premier EOF n'est pas interprété car il est précédé d'une tabulation alors que le second est seul sur sa ligne. | ||
| + | |||
| + | # Exemple 2 | ||
| + | cat <<- EOF | ||
| + | test | ||
| + | test2 | ||
| + | EOF | ||
| + | EOF | ||
| + | |||
| + | # Affichera | ||
| + | test | ||
| + | test2 | ||
| + | -bash: EOF : commande introuvable | ||
| + | |||
| + | # Les tabulations ont été ignorées et du fait le premier EOF a terminé le bloc. Le second a donc était interprété comme une commande d'où l' | ||
| + | </ | ||
| + | |||
| + | ~~DISCUSSION~~ | ||
| + | |||