Boucle For dans Bash Avec Exemples

Une boucle for est l’une des principales déclarations dans les différents langages de programmation. Nous expliquerons ici comment on l’utilise dans le langage de programmation bash – d’où le nom “bash boucle for“. Préparez-vous à ajouter un nouvel outil à votre bagage de développement !

Une boucle for est une instruction d’itération, ce qui signifie que vous pouvez exécuter du code de manière répétée. Supposons que vous vouliez exécuter une instruction 5 fois. Au lieu d’écrire cinq codes séparés, vous pouvez écrire une syntaxe de boucle for une seule fois. Voyons cela plus en détail, d’accord ?

Bash boucle for : Syntaxe

Fondamentalement, la syntaxe de boucle for la plus simple répète l’occurrence d’un ensemble de variables. La syntaxe ressemble généralement à ceci :

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

Dans la pratique, 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 donnera le texte suivant :

Hello 1
Hello 2
Hello 3
Hello 4
Hello 5

Examinons chaque élément :

  • #!/bin/bash – montre que le code est un script bash.
  • i – est un caractère de remplacement pour une variable. En revanche, $i est la valeur individuelle de la variable. Vous pouvez également l’écrire sous la forme c/$c ou sous n’importe quel autre nom.
  • in – sépare la variable et les éléments qui suivent.
  • 1 2 3 4 5 – est un exemple d’éléments sur lesquels vous voulez exécuter l’instruction
  • do – est le mot-clé qui déclenche les boucles. Il exécutera ensuite l’instruction n fois, n étant le nombre total d’éléments. Ici, la valeur de n est de 5.
  • echo “Hello: $i” – est le code que nous allons répéter n fois. N’oubliez pas que les guillemets transforment tout ce qui se trouve à l’intérieur en une variable.
  • done – 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 réduire la portée avec “. .” :

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

La version 4.0+ de Bash vous permet d’utiliser la syntaxe {DÉBUT. .FIN. .INCREMENT} :

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

Le résultat ressemblera à ceci :

Hi 0
Hi 2
Hi 4
Hi 6
Hi 8

Les autres syntaxes courantes sont :

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

Ou comme ça :

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

Bash boucle for : Exemples

Vous pouvez mettre à jour la syntaxe pour effectuer plusieurs opérations. N’oubliez pas qu’avant de faire quoi que ce soit, vous devez vous connecter à votre serveur VPS. Si vous rencontrez des difficultés, ce tutoriel vous mettra sur la bonne voie.

En attendant, si vous avez des problèmes avec bash, vous devriez consulter notre guide des fonctions de base de bash. N’oubliez pas que les fonctions bash doivent être dans un fichier .sh. Pour en créer un, exécutez ce qui suit dans la ligne de commande :

vim NomDuFichier.sh

Un fichier .sh sera alors créé et ouvert dans l’éditeur VIM. Vous pouvez en apprendre davantage dans l’article sur les fonctions de base de bash mentionné précédemment.

Utilisation de bash boucle for pour créer une boucle à l’infini

Une fois activée, cette boucle continuera à exécuter le code jusqu’à ce que vous l’arrêtiez en appuyant sur Control + C. Dans ce cas, le terme “Hello World” continuerait à réapparaître tout seul.

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

Utilisation de bash boucle for pour créer une boucle à trois expressions

La boucle est composée de trois expressions d’écriture – un initialisateur (EXP1), une condition (EXP2) et une expression de comptage (EXP3). On l’appelle parfois la boucle de style C en raison de la ressemblance étroite de sa structure de code. La syntaxe de cette boucle est la suivante :

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

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

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

Le code indique que la valeur initiale est 1. La boucle sera exécutée, tant que la condition dans EXP2 est vraie, ce qui signifie qu’elle ne doit pas être supérieure à 5. En outre, le signe ++ indique que l’incrément est de 1. Il répétera ensuite la boucle une par une en partant de la valeur initiale. Résultat :

Hi 1
Hi 2
Hi 3
Hi 4
Hi 5

Utilisation de bash boucle for pour créer le saut de ligne et continuer la boucle

La déclaration 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 un bash sauter et continuer la boucle comme celle-ci :

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

Le résultat serait :

Hi 1
Hi 2
Hi 3
Hi 5

Comme la valeur 4 correspondait à la déclaration continue, la boucle n’a pas exécuté le code et est passée à la valeur suivante, qui est 5.

Utilisation de bash boucle for pour créer un arrêt conditionnel avec l’instruction break de boucle

La boucle vous permet d’arrêter l’opération lorsqu’elle répond à la condition indiquée. Cette opération peut être suivie d’une autre instruction. Voici la syntaxe :

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

En utilisant cette fonction, notre code 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!'

Ensuite, le résultat :

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

La déclaration indique à la boucle d’interrompre l’opération une fois que la condition est vraie (en trouvant le terme Jakarta). Elle exécutera alors le deuxième code, qui consiste à imprimer un texte qui dit “Yes, that’s all!“.

Résumé

Le bash boucle for 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 surveiller des fichiers et effectuer de nombreuses autres tâches. La liste est encore longue !

Tout ce que vous avez à faire est d’écrire la syntaxe. Il se peut qu’il y ait une courbe d’apprentissage abrupte, mais la lecture de cette introduction est un bon début. La pratique est toujours la clé de la perfection ! Bonne chance !

Author
L'auteur

Ismail

Ismail est un spécialiste du référencement et de la localisation chez Hostinger. Il est passionné par la technologie et le développement web et possède des années d'expérience dans le domaine informatique. Ses passe-temps incluent les jeux vidéo et le football.