GNU/Linux >> Tutoriels Linux >  >> Linux

Bash For Loop Guide et exemples

Une boucle for est l'une des principales instructions dans divers langages de programmation et aide beaucoup à gérer votre VPS. Ici, nous expliquerons comment il est utilisé dans le langage de programmation bash - d'où le nom "bash for loop". Préparez-vous à ajouter un nouvel outil à votre arsenal de développeur !

Une boucle for est une instruction d'itération, ce qui signifie que vous pouvez exécuter du code à plusieurs reprises. Disons que vous voulez exécuter une instruction 5 fois. Au lieu d'écrire cinq codes distincts, vous pouvez simplement écrire une syntaxe de boucle for une seule fois. Explorons plus en profondeur, d'accord ?

Syntaxe Bash For Loop

Fondamentalement, la syntaxe de boucle for la plus simple répète l'occurrence d'un ensemble d'une variable. La séquence bash ressemble généralement à ceci :

for VARIABLE in 1 2 3 4 5 .. N
Perform the below command:
    command1
    command2
    commandN
done

Dans le monde réel, cette syntaxe ressemblerait à l'exemple ci-dessous :

#!/bin/bash
for i in 1 2 3 4 5
do
 echo "Hello $i"
done

L'exécution du fichier bash entraînera la séquence suivante :

Hello 1
Hello 2
Hello 3
Hello 4 
Hello 5

Inspectons chaque élément :

  • #!/bin/bash– montre que le code est un script bash
  • je – est un espace réservé pour une variable. Pendant ce temps, $i est la valeur individuelle de la variable. Vous pouvez également l'écrire sous la forme c/$c ou par tout autre nom
  • dans – sépare la variable et les éléments qui suivent
  • 1 2 3 4 5 – est un exemple d'éléments sur lesquels vous souhaitez exécuter l'instruction
  • faire – est le mot-clé qui démarre les boucles. Il exécutera alors l'instruction n fois, n étant le nombre total d'éléments. Ici, la valeur de n est 5
  • écho "Bonjour :$i" – est le code que nous répéterons n fois. N'oubliez pas que les guillemets transforment tout ce qu'ils contiennent en une seule variable.
  • terminé – arrête la boucle

Vous pouvez écrire le code différemment selon la version de bash que vous utilisez :

La version 3.0+ de Bash peut raccourcir la plage avec ".. ”.

#!/bin/bash
for i in {1..5}
do
  echo "Hai $i"
done

Bash version 4.0+ vous permet d'utiliser le {START..END..INCREMENT} syntaxe.

#!/bin/bash
for i in {0..8..2}
do
  echo "Hai $i"
done

Le résultat de cette séquence bash ressemblera à ceci :

Hai 0
Hai 2
Hai 4
Hai 6 
Hai 8

Les deux autres syntaxes de commande de boucle courantes sont les suivantes :

for VARIABLE in file1 file2 file3
do
    command1 on $VARIABLE
    command2
    commandN
done

Et ceci :

for OUTPUT in $(Linux-Or-Unix-Command-Here)
do
    command1 on $OUTPUT
    command2 on $OUTPUT
    commandN
done

Exemples de boucle pour bash

Vous pouvez mettre à jour la syntaxe pour effectuer plusieurs opérations. N'oubliez pas qu'avant de faire quoi que ce soit, vous devrez vous connecter à votre VPS. Si vous rencontrez des problèmes, ce didacticiel Putty SSH vous mettra sur la bonne voie. En attendant, si vous rencontrez des problèmes avec bash, vous devriez consulter notre guide de la fonction bash de base. N'oubliez pas que les fonctions bash doivent être dans un .sh dossier. Pour en créer un, exécutez ce qui suit dans la ligne de commande :

vim NameOfFile.sh

Cela créera un fichier .sh et l'ouvrira dans l'éditeur VIM. Vous pouvez en savoir plus dans l'article sur la fonction bash de base mentionné précédemment.

Utilisation de Bash For Loop pour créer une boucle infinie

Une fois activée, cette boucle continuera à exécuter le code jusqu'à ce que vous l'arrêtiez en appuyant sur Ctrl + C. Dans ce cas, le terme "Hello World" continuera à réapparaître de lui-même.

#!/bin/bash
for (( ; ; ))
do
  echo "Hello World!"
done

Utilisation de Bash For Loop pour créer une boucle à trois expressions

La boucle est composée de trois expressions d'écriture - un initialiseur (EXP1 ), une condition (EXP2 ) et une expression de comptage (EXP3 ). Parfois, les gens l'appellent la boucle de style C en raison de la ressemblance étroite dans la structure du code. La syntaxe de cette boucle est la suivante :

for (( EXP1; EXP2; EXP3 ))
do
    command1
    command2
    command3
done

Voici un exemple de commande de boucle que vous pouvez essayer vous-même :

#!/bin/bash
for (( c=1; c<=5; c++ ))
do  
  echo "Hai $c"
done

Le code dit que la valeur initiale est 1 . La boucle sera exécutée, tant que la condition dans EXP2 est vrai, ce qui signifie qu'il ne doit pas être supérieur à 5 . De plus, le ++ signe indique que l'incrément est 1 . Il répétera ensuite la boucle une par une à partir de la valeur initiale. Résultat :

Hai 1
Hai 2
Hai 3
Hai 4 
Hai 5

Utilisation de Bash for Loop pour créer la boucle Skip and Continue

L'instruction continue saute la boucle pour la valeur indiquée et continue la boucle par la suite. Voici à quoi ressemblerait la syntaxe :

for I in 1 2 3 4 5
do
 if [condition]
 then
    continue   #Go to next iteration of I in the loop and skip statements3
 fi
 statement
done

En suivant la syntaxe, nous pouvons créer une commande bash skip and continue loop comme celle-ci :

for i in {1..5}
do
  if [[ "$i" == '4' ]]
  then
    continue
  fi
  echo "Hai $i4"
done

La sortie de cette séquence bash serait :

Hai 1
Hai 2
Hai 3
Hai 5

Depuis la valeur 4 correspondait à l'instruction continue, la boucle n'a pas exécuté le code et est passée à la valeur suivante, qui est 5 .

Utilisation de Bash for Loop pour créer une sortie conditionnelle avec Break Loop

La boucle vous permet d'arrêter l'opération si elle répond à la condition indiquée. Cela peut être suivi d'une autre instruction. Voici la syntaxe :

for I in 1 2 3 4 5
  do
  if [condition]
  then
    break
  fi
  statement
done

Lors de l'utilisation de cette fonction, notre commande de boucle ressemblerait à ceci :

for city in Manila Bangkok Jakarta Kuala Lumpur
do
  if [[ "$city" == 'Jakarta' ]]; then
    break
  fi
  echo "city: $city"
done

echo 'Yes, that’s all!'

Et le résultat :

city: Manila
city: Bangkok
Yes, that’s all!

L'instruction indique à la boucle d'interrompre l'opération une fois que la condition est vraie (trouver le terme Jakarta ). Il exécutera ensuite le deuxième code, qui imprime un texte qui dit Oui, c'est tout.

Conclusion

Bash for loop est idéal pour automatiser les tâches répétitives. Outre les exemples de base ci-dessus, vous pouvez faire beaucoup plus. Par exemple, vous pouvez suivre les fichiers et effectuer de nombreuses autres tâches. La liste est longue !

Tout ce que vous avez à faire est d'écrire les commandes de boucle. Cela peut être une courbe d'apprentissage, mais la lecture de cette introduction est un bon début. La pratique rend toujours parfait! Bonne chance !


Linux
  1. Exemples de boucle Bash For et de boucle While

  2. Vous tenir au courant - Exemples de boucle Bash For, While, Until

  3. Bash for loop Exemples

  4. Utiliser et dans la boucle while de Bash

  5. bash Linux. pour boucle et fonction, pour additionner des nombres

Bash Scripting - Boucle For expliquée avec des exemples

Bash For Loops avec des exemples

Bash For Loop – Le guide le plus pratique

Bash Scripting Part2 - Boucles For et While avec exemples

La boucle Bash FOR expliquée et simplifiée

Script bash pour la boucle expliqué avec des exemples