Skip to main content

Comment écrire Bash WHILE-Loops

StarTrek 25th Anniversary Video Game Playthrough Complete Golden Oldies (Avril 2025)

StarTrek 25th Anniversary Video Game Playthrough Complete Golden Oldies (Avril 2025)

Table des matières:

Anonim

Vous pouvez exécuter une séquence de commandes en les écrivant dans un fichier de script, puis en l'exécutant.

Un fichier de script est simplement un fichier texte, généralement avec l'extension .SH, contenant une séquence d'instructions pouvant également être exécutée à partir de la ligne de commande (shell).

Exemples de boucles While

Vous trouverez ci-dessous un exemple de boucle while. Lorsqu'il est exécuté, ce fichier de script imprimera les numéros 1 à 9 à l'écran. L'instruction while vous donne plus de flexibilité pour spécifier la condition de terminaison que la boucle for.

Par exemple, vous pouvez transformer le script précédent en une boucle infinie en omettant l'instruction d'incrémentation "((count ++))":

L'instruction "sleep 1" suspend l'exécution pendant 1 seconde à chaque itération. Utilisez le raccourci clavier Ctrl + C pour terminer le processus.

Vous pouvez également créer une boucle infinie en mettant deux points comme condition:

Pour utiliser plusieurs conditions dans la boucle while, vous devez utiliser la notation double crochet:

Dans ce script, la variable "done" est initialisée à 0, puis à 1 lorsque le compte atteint 5. La condition de boucle indique que la boucle while continuera tant que "count" est inférieur à neuf et que "done" est égal à à zéro. Par conséquent, les boucles se terminent lorsque le nombre est égal à 5.

"&&" signifie "et" et "||" logiques signifie logique "ou".

Une notation alternative pour les conjonctions "et" et "ou" dans les conditions est "-a" et "-o" avec des crochets simples. La condition ci-dessus:

… pourrait être réécrit comme:

La lecture d'un fichier texte se fait généralement avec une boucle while. Dans l'exemple suivant, le script bash lit le contenu ligne par ligne d'un fichier nommé "inventaire.txt:"

La première ligne attribue le nom du fichier d'entrée à la variable "FILE". La deuxième ligne enregistre "l'entrée standard" dans le descripteur de fichier "6" (il peut s'agir d'une valeur comprise entre 3 et 9). Ceci est fait de sorte que "l'entrée standard" puisse être restaurée dans le descripteur de fichier "0" à la fin du script (voir la déclaration "exec 0 À la 3ème ligne, le fichier d'entrée est attribué au descripteur de fichier" 0, "qui est utilisé L’instruction "read" lit ensuite une ligne du fichier à chaque itération et l’assigne à la variable "line1".

Afin de quitter prématurément une boucle while, vous pouvez utiliser l'instruction break comme ceci:

L'instruction break ignore l'exécution du programme jusqu'à la fin de la boucle while et exécute toutes les instructions qui la suivent. Dans ce cas, la déclaration "echo Finished".

Par contre, l'instruction continue ignore uniquement le reste de l'instruction de la boucle while de l'itération en cours et passe directement à l'itération suivante:

Dans ce cas, l'instruction "continue" est exécutée lorsque la variable "count" atteint 5. Cela signifie que l'instruction suivante (echo "$ count") n'est pas exécutée à cette itération (lorsque la valeur de "count" est 5).