linux:shell:structures_controle:until_while
Table des matières
Linux
Boucle sur condition - WHILE / UNTIL
Syntaxe
La boucle while do… done exécute une séquence de commandes tant que la dernière commande de la “liste de commandes” est “vrai” (statut égal à zéro).
while liste de commandes do commande1 [ commande2 ?] done
La boucle until do… done exécute une séquence de commandes tant que la dernière commande de la “liste de commandes” est “faux” (statut différent de zéro).
until liste de commandes do commande1 [ commande2 ?] done
Exemple : Lire un fichier ligne par ligne
while read ligne do cat $ligne [ commande2 ?] done < ~/fichier.txt
Exemple : Script qui affiche tous les fichiers du répertoire courant et qui, pour chaque fichier, indique si c'est un fichier de type « répertoire », de type « ordinaire » ou d'un autre type.
#!/bin/sh # Script d'affichage d'informations sur les fichiers du répertoire courant # La commande "read" lit l'entrée standard. Mais cette entrée peut être redirigée d'un pipe # De plus, "read" renvoie "vrai" quand elle a lu et "faux" quand il n'y a plus rien à lire # On peut donc programmer une boucle de lecture pour traiter un flot d'informations ls | while read fic # Tant que le "read" peut lire des infos provenant du "ls" do # Évaluation du fichier traité if test -d "$fic" then echo "$fic est un répertoire" elif test -f "$fic" then echo "$fic est un fichier ordinaire" else echo "$fic est un fichier spécial ou lien symbolique ou pipe ou socket" fi done
linux/shell/structures_controle/until_while.txt · Dernière modification : 2022/10/18 13:36 de zandor