Maîtriser le flux de contrôle de bash avec une pause et continuer
- 3282
- 174
- Romain Martinez
Bash est une puissante langue de script qui est couramment utilisée pour l'automatisation et les tâches d'administration du système. L'un des concepts les plus importants des scripts bash est le flux de contrôle, qui fait référence à la manière dont le script exécute différentes commandes en fonction de diverses conditions. Deux énoncés de flux de contrôle des clés dans Bash sont la rupture et la poursuite, ce qui peut vous aider à contrôler l'exécution de votre code et à le rendre plus efficace.
Que sont les cassures et continuent à bash?
Break and Continued sont deux instructions de flux de contrôle de bash qui peuvent être utilisées pour modifier le flux d'une boucle ou d'une instruction de commutation. Ils vous permettent de quitter une boucle ou de sauter certaines itérations en fonction de conditions spécifiques.
Voici un bref aperçu de la façon dont la rupture et la poursuite du travail dans Bash:
- casser: Lorsqu'il est utilisé à l'intérieur d'une instruction LOOP ou Switch, Break quittera immédiatement l'instruction LOOP ou Switch et continuer à exécuter le script à partir de la commande suivante après l'instruction LOOP ou STANT.
- continuer: Lorsqu'il est utilisé à l'intérieur d'une boucle, Continuer va ignorer l'itération actuelle et passer à l'itération suivante. En d'autres termes, il vous permet de sauter certaines itérations en fonction de conditions spécifiques.
La rupture et la poursuite peuvent être utiles pour améliorer l'efficacité de vos scripts bash, car ils vous permettent de contrôler l'exécution de votre code et d'éviter les itérations inutiles.
Utiliser la pause en bash
Commençons par voir comment utiliser Break in Bash. La pause est couramment utilisée dans les boucles et les instructions de commutation pour quitter immédiatement l'instruction LOOP ou Switch lorsqu'une certaine condition est remplie.
Voici un exemple de la façon d'utiliser la pause dans une boucle:
#!/ bin / bash pour i dans 1… 10 faire si [$ i -eq 5] puis casser fi echo $ j'ai fait echo "boucle complète"12345678910111213 | #!/ bin / bash pour i dans 1… 10 faire si [$ i -eq 5] puis casser fi echo $ idone echo "boucle complete" |
Dans cet exemple, nous avons une boucle pour itératera sur les valeurs de I de 1 à 10. Cependant, nous avons ajouté une déclaration IF qui vérifie si je suis égal à 5. Si je suis égal à 5, nous utiliserons l'instruction BREAK pour quitter immédiatement la boucle.
Si nous exécutons ce script, nous verrons la sortie suivante:
Sortie 1 2 3 4 boucle complète
Comme vous pouvez le voir, la boucle n'a fait qu'itéré jusqu'à 4 avant de sortir en raison de l'instruction de pause.
Utilisation de continuer à bash
Ensuite, regardons comment utiliser Continuer dans Bash. continuer est utilisé dans des boucles pour sauter certaines itérations en fonction de conditions spécifiques.
Voici un exemple de la façon d'utiliser Continuer dans une boucle:
#!/ bin / bash pour i dans 1… 10 faire si [$ i -eq 5] puis continuez fi echo $ j'ai fait echo "boucle complète"12345678910111213 | #!/ bin / bash pour i dans 1… 10 faire si [$ i -eq 5] puis continuez fi echo $ idone echo "boucle complete" |
Dans cet exemple, nous avons une boucle pour itératera sur les valeurs de I de 1 à 10. Cependant, nous avons ajouté une déclaration IF qui vérifie si je suis égal à 5. Si je suis égal à 5, nous utiliserons l'instruction Continuer pour sauter cette itération et passer à la prochaine itération.
Si nous exécutons ce script, nous verrons la sortie suivante:
Sortie 1 2 3 4 6 7 8 9 10 boucle complète
Comme vous pouvez le voir, la boucle a sauté l'itération où «i» était égal à 5 et a continué avec le reste des itérations.
Utilisation des instructions Break and Continue In Switch
En plus des boucles, la rupture et la poursuite peuvent également être utilisées dans les instructions de commutation en bash.
Voici un exemple de la façon d'utiliser Break in a Switch Instruction:
#!/ Bin / Bash Case 1 $ en démarrage) Echo "Démarrage du service" ;; stop) echo "Stopping Service" ;; redémarrer) écho "redémarrage du service" ;; *) Echo "Option non valide" Break ;; ESAC Echo "Instruction Switch Complete"12345678910111213141516171819202122 | #!/ Bin / Bash Case 1 $ en démarrage) Echo "Démarrage du service" ;; stop) echo "Stopping Service" ;; redémarrer) écho "redémarrage du service" ;; *) Echo "Option non valide" Break ;; ESAC Echo "Instruction Switch Complete" |
Dans cet exemple, nous avons une instruction Switch qui vérifiera la valeur du premier argument de ligne de commande (1 $). Si 1 $ est égal à «Démarrer», «arrêter» ou «redémarrer», il exécutera la commande correspondante. Si 1 $ n'est égal à l'une de ces valeurs, elle publiera un message d'erreur et utilisera l'instruction BRISE pour quitter l'instruction Switch.
Si nous exécutons ce script avec la commande ./ myscript.SH invalide, nous verrons la sortie suivante:
SORTIE DE SORTIE DE SORTIE D'OPTION NON FACILIDE Terminée
Comme vous pouvez le voir, le script publie le message d'erreur, puis quitte l'instruction Switch à l'aide de l'instruction BRISE.
Voici un exemple de la façon d'utiliser Continuer dans une instruction Switch:
#!/ Bin / Bash Case 1 $ en démarrage) Echo "Démarrage du service" ;; stop) echo "Stopping Service" ;; redémarrer) écho "redémarrage du service" ;; *) continuer ;; ESAC Echo "Instruction Switch Complete"123456789101112131415161718192021 | #!/ Bin / Bash Case 1 $ en démarrage) Echo "Démarrage du service" ;; stop) echo "Stopping Service" ;; redémarrer) écho "redémarrage du service" ;; *) Continuer ;; ESAC Echo "Instruction Switch Complete" |
Dans cet exemple, nous avons modifié le script précédent pour utiliser l'instruction Continuer au lieu de la pause. Si 1 $ n'est égal à aucune des valeurs attendues, le script sautera simplement cette itération de l'instruction Switch et passe à la prochaine itération.
Si nous exécutons ce script avec la commande ./ myscript.SH invalide, nous verrons la sortie suivante:
Instruction de commutation de sortie complète
Comme vous pouvez le voir, le script a simplement sauté l'itération où 1 $ était invalide et a continué avec le reste du script.
Conclusion
Dans ce tutoriel, nous avons couvert les bases de l'utilisation de la pause et de la poursuite des scripts bash. Ces déclarations sont des outils puissants pour contrôler l'exécution de votre code et améliorer l'efficacité de vos scripts. En utilisant Break et Continuer efficacement, vous pouvez créer des scripts bash plus robustes et plus efficaces qui peuvent gérer une variété de tâches et de scénarios.
- « Comment se réinitialiser pour la tête
- Un guide pratique pour ajouter des référentiels à distance GIT »