Leçon 19 : scripts Shell
La commande tar de la leçon précédente fonctionne — mais quand elle s'exécute dans cron, impossible de savoir si elle a réussi. On l'enveloppe dans un script bash : #!/bin/bash sur la première ligne indique quel interpréteur utiliser. DEST=/backups définit une variable ; $DEST l'utilise. chmod +x ba
Un script, c'est comme une recette écrite : #!/bin/bash dit 'cuisine avec bash', et chmod +x donne la permission de cuisiner. DEST=/backups enregistre une adresse sur un post-it, et $DEST lit ce post-it. $? est la dégustation à la fin de la cuisson — 0 signifie que c'est réussi.
- shebang (#!/bin/bash)
- La première ligne d'un script — indique quel interpréteur l'exécute. #! le marque, /bin/bash est le chemin vers bash. Sans shebang, le système devine l'interpréteur.
- variable bash
- NAME=value définit (sans espaces). $NAME lit la valeur. "$NAME" entre guillemets doubles protège contre le word splitting si la valeur contient des espaces.
- code de sortie ($?)
- Un code que chaque commande renvoie : 0 = succès, toute autre valeur = échec. $? contient le code de la dernière commande. Doit être lu immédiatement avant qu'une autre commande ne l'écrase.
- chmod +x
- Ajoute la permission d'exécution à un script. Sans ça, ./script.sh renvoie 'Permission denied'. chmod +x script.sh permet ./script.sh ; bash script.sh fonctionne aussi sans chmod +x.