Linux: commander l'écoulement d'exécution

Dans Linux bash scripts, vous pouvez contrôler le flux d'exécution - l'ordre dans lequel les commandes sont exécutées - en utilisant les commandes spéciales telles que si, cas, pour, et tandis que.

Ces déclarations de contrôle utilisent l'état de sortie d'une commande de décider quoi faire ensuite. Quand une commande est exécutée, elle renvoie un état de sortie - une valeur numérique qui indique si oui ou non la commande a réussi. Par convention, un état de sortie de zéro signifie que la commande a réussi. (Oui, vous avez bien lu: zéro indique le succès!) Un état de sortie non nulle indique que quelque chose a mal tourné avec la commande.




Par exemple, supposons que vous souhaitez effectuer une copie de sauvegarde d'un fichier avant de l'éditer avec le vi éditeur. Plus important encore, vous voulez éviter d'éditer le fichier si une sauvegarde ne peut être faite. Voici un script bash qui prend soin de cette tâche:

#! / bin / cp CAPS "$ 1" "$ # 1" de thenvi "$ 1" elseecho "Impossible de créer une copie de sauvegarde fi"

Ce script illustre la syntaxe de la if-then-else structure et montre comment l'état de sortie de la cp commande est utilisé par le si commande pour déterminer la prochaine action. Si cp renvoie zéro, le script utilise vi pour modifier le Fichier contraire, le script affiche un message d'erreur et quitte.

Par ailleurs, le script enregistre la sauvegarde dans un fichier dont est la même que celle de l'original nom, sauf pour une marque de dièse (#) ajouté au début du nom du fichier.

Ne pas oublier la finale fi qui met fin à la si commande. Oubliant fi est une source commune d'erreurs dans bash scripts.


» » » » Linux: commander l'écoulement d'exécution