#scripts shell # En-tête d'un script : #! suivi du chemin absolu vers l'interpréteur (utiliser which pour connaitre le path) Par exemple, pour un script bash : #!/bin/bash Variables spéciales : $0 : Le nom du script $1, $2, ... : Les arguments passés au script $* : La liste de tous les arguments passés au script, séparés par un espace $# : Le nombre d'arguments passés au script $? : Le code de retour de la dernière commande executée. $! : Le numéro de processus de la dernière commande lancée en tâche de fond. $$ : Le numéro de processus du script lui-même Stocker saisie utilisateur : echo "Comment t'apeles-tu ?" read nom echo "Salut" $nom Structures conditionnelles : if condition1; then ... elif condition2; then ... else ... fi Exemple : if [ $# -lt 2]; then echo "Erreur : Vous n'avez pas fourni assez d'arguments" else echo "OK :" $# "argumens" fi Opérateurs de test de fichiers : -e : vérifie l'existence d'un fichier -f : vérifie l'existence d'un fichier et qu'il s'agit bien d'un fichier et pas d'un répertoire -d : vérifie l'existence d'un répertoire -r : vérifie si un fichier est accessible en lecture -w : vérifie si un fichier est accessible en écriture -x : vérifie si un fichier a les droits d'execution Structure case : case $choix in 1) echo "un";; 2) echo "deux";; *) echo "ERREUR !" esac Instruction while : i=1 while [ $i -le 100 ]; do echo $i"*7="$(($i*7)) i=$(($i+1)) done Instruction until : i=1 until [ $i -gt 100 ]; do echo $i"*7="$(($i*7)) i=$(($i+1)) done Instruction for : i=1 for file in *; do echo $i". "$file i=$(($i+1)) done Instruction select : select choix in "entrée 1" "entrée 2" "q"; do case $choix in "entrée 1" | "entrée 2") echo "Vous avez choisi" $choix;; "q") echo "Au revoir..." break;; *) echo "Saisie non valide !" esac done