logo

Déclarations en boucle | Script Shell

Instructions en boucle dans les scripts Shell : Il existe au total 3 instructions en boucle qui peuvent être utilisées dans la programmation bash

Table des matières



Pour modifier le flux des instructions de boucle, deux commandes sont utilisées :

  1. casser
  2. continuer

Leurs descriptions et syntaxe sont les suivantes :

Instruction « while » dans Shell Script sous Linux

Ici, la commande est évaluée et, en fonction de la boucle résultante, elle s'exécutera. Si la commande est élevée à false, la boucle sera terminée. que.



#/bin/bash while  do       done>

Implémentation de la boucle `While` dans le script Shell.

Tout d’abord, nous créons un fichier à l’aide d’un éditeur de texte sous Linux. Dans ce cas, nous utilisons `vim`editor.

vim looping.sh>

Vous pouvez remplacer looping.sh par le nom souhaité.

Ensuite, nous rendons notre script exécutable à l'aide de la commande `chmod` sous Linux.



chmod +x looping.sh>

#/bin/bash

une=0

# lt est inférieur à l'opérateur

table de hachage en Java

#Itérer la boucle jusqu'à moins de 10

tandis que [ $a -lt 10 ]
faire
# Imprimer les valeurs
écho $a
# incrémente la valeur
a=`expr $a + 1`
fait

Sortir:

Boucle While sous Linux

Boucle While sous Linux

Explication:

  • #/bin/bash> : Spécifie que le script doit être interprété à l'aide du shell Bash.
  • a=0> : Initialise une variablea>avec la valeur 0.
  • while [ $a -lt 10 ]> : Initie une boucle while qui continue aussi longtemps que la valeura>est inférieur à 10.
  • do> : Marque le début du corps de la boucle.
  • echo $a> : Imprime la valeur actuelle dea>la console.
  • a=> expression $a + 1 : Incrémente la valeur dea>par 1. Leexpr>La commande est utilisée pour les expressions arithmétiques.
  • done> : Marque la fin de la boucle.

Instruction `for` dans Shell Script sous Linux

La boucle for opère sur des listes d'éléments. Il répète un ensemble de commandes pour chaque élément d'une liste.
Ici var est le nom d'une variable et word1 à wordN sont des séquences de caractères séparées par des espaces (mots). Chaque fois que la boucle for s'exécute, la valeur de la variable var est définie sur le mot suivant dans la liste de mots, mot1 à motN.

Syntaxe:

#/bin/bash for in  do       done>

Implémentation de la boucle `for` avec l'instruction `break` dans Shell Script.

Tout d’abord, nous créons un fichier à l’aide d’un éditeur de texte sous Linux. Dans ce cas, nous utilisons `vim`editor.

vim for.sh>

Vous pouvez remplacer for.sh par le nom souhaité.

Ensuite, nous rendons notre script exécutable à l'aide de la commande `chmod` sous Linux.

chmod +x for.sh>

#/bin/bash

#Début de la boucle for

pour un en 1 2 3 4 5 6 7 8 9 10
faire

# si a est égal à 5 ​​rompre la boucle
si [ $a == 5 ]
alors
casser
être

# Imprimer la valeur
echo Itération non $a
fait

Sortir:

Instruction Break dans for Loop sous Linux

Instruction Break dans for Loop sous Linux

Explication:

  • #/bin/bash>: Spécifie que le script doit être interprété à l'aide du shell Bash.
  • for a in 1 2 3 4 5 6 7 8 9 10> : initie une boucle for qui parcourt les valeurs 1 à 10, en attribuant chaque valeur à la variablea>à chaque itération.
  • do>: Marque le début du corps de la boucle.
  • if [ $a == 5 ]>: Vérifie si la valeur actuellea>est égal à 5.
    • then>: Marque le début du bloc conditionnel à exécuter si la condition est vraie.
      • break>: Quitte la boucle si la condition est vraie.
    • fi>: Marque la fin du bloc conditionnel.
  • echo 'Iteration no $a'>: Imprime un message indiquant le numéro d'itération actuel.
  • done>: Marque la fin de la boucle.

Le script configure une boucle for qui parcourt les valeurs 1 à 10. À chaque itération, il vérifie si la valeura>est égal à 5. Si c'est le cas, on sort de la boucle en utilisant lebreak>déclaration. Sinon, il imprime un message indiquant le numéro d'itération actuel. La boucle continue jusqu'à ce qu'elle termine toutes les itérations ou jusqu'à ce qu'elle rencontre une instruction break.

Implémentation de la boucle `for` avec l'instruction `continue` dans Shell Script.

Tout d’abord, nous créons un fichier à l’aide d’un éditeur de texte sous Linux. Dans ce cas, nous utilisons `vim`editor.

vim for_continue.sh>

Vous pouvez remplacer for_continue.sh par le nom souhaité.

Ensuite, nous rendons notre script exécutable à l'aide de la commande `chmod` sous Linux.

chmod +x for_continue.sh>

#/bin/bash

pour un en 1 2 3 4 5 6 7 8 9 10
faire

# si a = 5 alors continuez la boucle et
# ne passe pas à la ligne 8

appeler une fonction js depuis HTML

si [ $a == 5 ]
alors
continuer
être
echo Itération non $a
fait

Sortir:

instruction continue dans la boucle for sous Linux

instruction continue dans la boucle for sous Linux

Explication:

comment ouvrir un fichier en java
  • #/bin/bash> : Spécifie que le script doit être interprété à l'aide du shell Bash.
  • for a in 1 2 3 4 5 6 7 8 9 10>  : initie une boucle for qui parcourt les valeurs 1 à 10, en attribuant chaque valeur à la variablea>à chaque itération.
  • do> : Marque le début du corps de la boucle.
  • if [ $a == 5 ]> : Vérifie si la valeur actuellea>est égal à 5.
    • then> : Marque le début du bloc conditionnel à exécuter si la condition est vraie.
      • continue> : Saute le reste du corps de la boucle et passe à l'itération suivante si la condition est vraie.
    • fi> : Marque la fin du bloc conditionnel.
  • echo 'Iteration no $a'> : Imprime un message indiquant le numéro d'itération actuel. Cette ligne est ignorée sia>est égal à 5 ​​en raison decontinue>déclaration.
  • done> : Marque la fin de la boucle.

Le script configure une boucle for qui parcourt les valeurs 1 à 10. À chaque itération, il vérifie si la valeura>est égal à 5. Si tel est le cas, la boucle passe à l’itération suivante sans exécuter les instructions restantes dans le corps de la boucle. Sinon, il imprime un message indiquant le numéro d'itération actuel. La boucle continue jusqu'à ce qu'elle termine toutes les itérations.

Instruction `jusqu'à` dans Shell Script sous Linux

La boucle jusqu'à est exécutée autant de fois que la condition/commande est évaluée comme fausse. La boucle se termine lorsque la condition/commande devient vraie.

Syntaxe:

#/bin/bash until  do       done>

Implémentation de la boucle « jusqu'à » dans Shell Scrip

Tout d’abord, nous créons un fichier à l’aide d’un éditeur de texte sous Linux. Dans ce cas, nous utilisons `vim`editor.

vim until.sh>

Vous pouvez remplacer jusqu'à. sh avec le nom souhaité.

Ensuite, nous rendons notre script exécutable à l'aide de la commande `chmod` sous Linux.

chmod +x until.sh>

#/bin/bash

une=0

# -gt est supérieur à l'opérateur
#Itérer la boucle jusqu'à ce que a soit supérieur à 10

jusqu'à [ $a -gt 10 ]
faire

# Imprimer les valeurs
écho $a

# incrémente la valeur
a=`expr $a + 1`
fait

Sortir:

Boucle Unitl sous Linux

Jusqu'à la boucle sous Linux

Explication:

  • #/bin/bash> : Spécifie que le script doit être interprété à l'aide du shell Bash.
  • a=0> : Initialise une variablea>avec la valeur 0.
  • until [ $a -gt 10 ]> : Initie une boucle jusqu'à ce qu'elle continue aussi longtemps que la valeura>n'est pas supérieur à 10.
  • do> : Marque le début du corps de la boucle.
  • echo $a> : Imprime la valeur actuelle dea>la console.
  • a=> expression $a + 1 : Incrémente la valeur dea>par 1. Leexpr>La commande est utilisée pour les expressions arithmétiques.
  • done> : Marque la fin de la boucle.

Note: Les scripts Shell sont un langage sensible à la casse, ce qui signifie que la syntaxe appropriée doit être suivie lors de l'écriture des scripts.

Exemples d'instructions en boucle

1. Itérer sur les couleurs à l'aide d'une boucle For

Tout d’abord, nous créons un fichier à l’aide d’un éditeur de texte sous Linux. Dans ce cas, nous utilisons `vim`editor.

vim color.sh>

Vous pouvez remplacer color.sh par le nom souhaité.

Ensuite, nous rendons notre script exécutable à l'aide de la commande `chmod` sous Linux.

chmod +x color.sh>

#/bin/bash

COULEURS = rouge vert bleu

# la boucle for continue jusqu'à ce qu'elle lit toutes les valeurs des COULEURS

pour COULEUR en $COLORS
faire
echo COULEUR : $COULEUR
fait

Sortir:

Pour jusqu'à sous Linux

Pour jusqu'à sous Linux

Explication:

  • Initialisation des couleurs :
    • COLORS='red green blue'>: Initialise une variable nomméeCOLORS>avec une liste de valeurs de couleur séparées par des espaces (rouge, vert et bleu).
  • Pour l'itération de la boucle :
    • for COLOR in $COLORS> : initie une boucle for qui parcourt chaque valeur duCOLORS>variable.
      • Corps de la boucle :
        • echo 'COLOR: $COLOR'>: Imprime un message pour chaque couleur, affichant la valeur de couleur actuelle.
    • La boucle continue jusqu'à ce qu'elle traite toutes les valeurs présentes dans leCOLORS>variable.

Cet exemple montre une simple boucle for dans Bash, itérant sur une liste de couleurs stockées dans leCOLORS>variable. La boucle imprime un message pour chaque couleur, indiquant la couleur en cours de traitement. La boucle itère jusqu'à ce que toutes les valeurs de couleur soient épuisées.

2. Création d'une boucle infinie avec while true dans le script Shell

Nous créons d’abord un fichier à l’aide d’un éditeur de texte sous Linux. Dans ce cas, nous utilisons `vim`editor.

vim infinite.sh>

Vous pouvez remplacer infinite.sh par le nom souhaité.

Ensuite, nous rendons notre script exécutable à l'aide de la commande `chmod` sous Linux.

chmod +x infinite.sh>

#/bin/bash

palindrome en java

bien que vrai
faire

# Commande à exécuter
# sleep 1 indique qu'il dort pendant 1 seconde
echo Salut, je suis une boucle infinie
dormir 1
fait

Sortir:

boucle infinie sous Linux

boucle infinie sous Linux

Explication:

Structure de boucle infinie :

  • while true>: Initie une boucle while qui continue indéfiniment comme conditiontrue>est toujours vrai.
    • Corps de la boucle :
      • echo 'Hi, I am infinity loop'>: Imprime un message indiquant que le script est dans une boucle infinie.
      • sleep 1>: Suspend l'exécution de la boucle pendant 1 seconde avant la prochaine itération.
  • La boucle continue indéfiniment, exécutant les commandes contenues dans son corps à plusieurs reprises.

Cet exemple montre la création d'une boucle infinie à l'aide de la construction while true dans Bash. La boucle imprime en continu un message indiquant son statut de boucle infinie et inclut une commande sleep 1, provoquant un délai d'une seconde entre les itérations. Les boucles infinies sont souvent utilisées pour les processus qui doivent s'exécuter en continu jusqu'à ce qu'ils soient interrompus manuellement.

jquery ce clic

3. Boucle de confirmation de nom interactive

Nous créons d’abord un fichier à l’aide d’un éditeur de texte sous Linux. Dans ce cas, nous utilisons `vim`editor.

vim name.sh>

Vous pouvez remplacer name.sh par le nom souhaité.

Ensuite, nous rendons notre script exécutable à l'aide de la commande `chmod` sous Linux.

chmod +x name.sh>

#/bin/bash

CORRECT=n
tandis que [ $CORRECT == n ]
faire

# la boucle s'arrête lorsque vous entrez y, c'est-à-dire lorsque votre nom est correct
# -p signifie invite demandant l'entrée

read -p Entrez votre nom : NOM
read -p Est-ce que ${NAME} est correct ? CORRECT
fait

Sortir:

Script interactif sous Linux

Script interactif sous Linux

Explication:

  • Initialisation :
    • CORRECT=n>: Initialise une variable nomméeCORRECT>avec la valeur n. Cette variable est utilisée pour contrôler la boucle.
  • Boucle interactive :
    • while [ '$CORRECT' == 'n' ]>: Initie une boucle while qui continue aussi longtemps que la valeur deCORRECT>est égal à n.
      • Corps de la boucle :
        • read -p 'Enter your name:' NAME>: Invite l'utilisateur à saisir son nom et stocke l'entrée dans leNAME>variable.
        • read -p 'Is ${NAME} correct? ' CORRECT>: Demande à l'utilisateur de confirmer si le nom saisi est correct et met à jour leCORRECT>variable en conséquence.
    • La boucle continue jusqu'à ce que l'utilisateur entre y (indiquant le nom correct).

Cet exemple montre une boucle interactive qui invite l'utilisateur à saisir son nom, puis demande confirmation. La boucle continue jusqu'à ce que l'utilisateur confirme que le nom saisi est correct en saisissant y. La boucle utilise le ` read> `>commande pour la saisie de l'utilisateur et met à jour le ` CORRECT> `>variable pour contrôler le débit de la boucle.

Conclusion

Dans cet article, nous avons discuté des instructions en boucle dans les scripts Bash, couvrantwhile>,for>, etuntil>boucles. Il introduit l'utilisation debreak>etcontinue>instructions pour modifier le comportement de la boucle. Des exemples pratiques illustrent la mise en œuvre de boucles, notamment l'itération sur les valeurs de couleur, la création de boucles infinies et la création d'une boucle interactive pour la validation des entrées utilisateur. Le guide offre une ressource concise mais informative pour comprendre et utiliser les constructions en boucle dans les scripts Bash.