Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

Sortir d'une boucle

bash fournit deux commandes intégrées qui peuvent être utilisées pour contrôler le flux de programme à l'intérieur des boucles. La commande break termine immédiatement une boucle et le contrôle du programme reprend avec l'instruction suivante suivant la boucle. La commande continue fait sauter le reste de la boucle et le contrôle du programme reprend avec l'itération suivante de la boucle. Ici, nous voyons une version du programme while-menu incorporant à la fois break et continue :


#! / Bin / bash


# while-menu2 : un programme d'information système piloté par menu DELAY=3 # Nombre de secondes pour afficher les résultats

bien que vrai; faire

clair

chat <<- _EOF_

Veuillez sélectionner:


1. Afficher les informations système

2. Afficher l'espace disque

3. Afficher l'utilisation de l'espace domestique

0. Quitter


_EOF_

read -p "Entrer la sélection [0-3] > "


si [[ $REPLY =~ ^[0-3]$ ]] ; alors si [[ $REPLY == 1 ]]; alors

echo "Nom d'hôte : $HOSTNAME"

dormir $DÉLAI

continuer

fi

if [[ $REPLY == 2 ]]; puis df -h

dormir $DÉLAI

continuer

fi

if [[ $REPLY == 3 ]]; alors

if [[ $(id -u) -eq 0 ]] ; alors

echo "Utilisation de l'espace d'accueil (tous les utilisateurs)" du -sh /home/*

d'autre

#! / Bin / bash


# while-menu2 : un programme d'information système piloté par menu DELAY=3 # Nombre de secondes pour afficher les résultats

bien que vrai; faire

clair

chat <<- _EOF_

Veuillez sélectionner:


1. Afficher les informations système

2. Afficher l'espace disque

3. Afficher l'utilisation de l'espace domestique

0. Quitter


_EOF_

read -p "Entrer la sélection [0-3] > "


si [[ $REPLY =~ ^[0-3]$ ]] ; alors si [[ $REPLY == 1 ]]; alors

echo "Nom d'hôte : $HOSTNAME"

dormir $DÉLAI

continuer

fi

if [[ $REPLY == 2 ]]; puis df -h

dormir $DÉLAI

continuer

fi

if [[ $REPLY == 3 ]]; alors

if [[ $(id -u) -eq 0 ]] ; alors

echo "Utilisation de l'espace d'accueil (tous les utilisateurs)" du -sh /home/*

d'autre


echo "Utilisation de l'espace domestique ($USER)" du -sh $HOME

fi

dormir $DÉLAI

continuer

fi

if [[ $REPLY == 0 ]] ; puis casser

fi

d'autre

echo "Entrée invalide." dormir $DÉLAI

fi fait

echo "Programme terminé."

echo "Utilisation de l'espace domestique ($USER)" du -sh $HOME

fi

dormir $DÉLAI

continuer

fi

if [[ $REPLY == 0 ]] ; puis casser

fi

d'autre

echo "Entrée invalide." dormir $DÉLAI

fi fait

echo "Programme terminé."


Dans cette version du script, nous avons mis en place un boucle sans fin (celui qui ne se termine jamais tout seul) en utilisant le oui commande pour fournir un état de sortie à tout en. Depuis oui sortira toujours avec un état de sortie de zéro, la boucle ne se terminera jamais. Il s'agit d'une technique de script étonnamment courante. Puisque la boucle ne se terminera jamais d'elle-même, c'est au programmeur de fournir un moyen de sortir de la boucle lorsque le moment sera venu. Dans ce script, le pause La commande est utilisée pour sortir de la boucle lorsque la sélection « 0 » est choisie. Les Continuez La commande a été incluse à la fin des autres choix de script pour permettre une exécution plus efficace. En utilisant continuer, le script ignorera le code qui n'est pas nécessaire lorsqu'une sélection est identifiée. Par exemple, si la sélection « 1 » est choisie et identifiée, il n'y a aucune raison de tester les autres sélections.


 

Meilleur système d'exploitation Cloud Computing chez OnWorks :