Script Shell 101. La Boucle For Dans Les Scripts Shell

Poursuivant nos tutoriels maintenant, introduisons la boucle for dans les scripts shell dans notre rubrique d’aujourd’hui. Nous avons déjà couvert la boucle while dans notre didacticiel précédent et utilisé les instructions break et continue pour quitter la boucle while en fonction de certaines conditions. Entrons dans le vif du sujet alors !

Quelle Est La Différence Entre La Boucle While Et La Boucle For Dans Les Scripts Shell ?

La principale différence entre la boucle for et la boucle while réside dans leur définition et leur syntaxe. Lorsque vous travaillez avec la boucle while, nous fournissons une condition selon laquelle la boucle while continue à boucler jusqu’à ce qu’elle devienne fausse. Nous ne spécifions pas le nombre d’itérations pour la boucle. D’un autre côté, la boucle for prend 2 ou 3 conditions et la dernière condition décide généralement du nombre d’itérations.

La première condition est la variable qui parcourt une séquence lorsque la boucle commence et s’incrémente automatiquement en fonction de ce sur quoi elle itère. Par exemple, si elle doit parcourir une séquence de nombres, la variable s’incrémente d’elle-même en fonction des nombres qui lui sont fournis.

Si tout ce que j’ai écrit ci-dessus vous semble du charabia, continuez simplement à lire et tout deviendra bientôt limpide.

Définition De La Boucle Bash For

Il existe deux manières de définir la boucle bash for. Le premier est le style bash avec deux variables, et le second est le style C avec 3 variables. Voici la syntaxe pour les deux.

Style Bash pour la définition de la boucle :

pour VARIABLE en SEQUENCE

La VARIABLE est le nom de la variable à utiliser dans la boucle, et la SEQUENCE est tout ce qui va d’une séquence de nombres, de fichiers multiples, de commandes Linux, etc.

C Style pour la définition de la boucle :

pour (( déclaration de variable; condition; variable d'incrément))

Comment Utiliser La Boucle For ?

Maintenant que vous avez une compréhension de base de la boucle for , il est temps de commencer à l’utiliser dans nos scripts. Nous allons commencer par créer une boucle for simple qui itère sur une séquence donnée de nombres.

#!/bin/bash
pour moi dans 1 2 3 4 5 6 7
faire
 echo "Numéro de boucle €i"
Fini

Pour la boucle dans les scripts shell

Très simple à comprendre ? Passons à un autre groupe de séquences.

Bash Pour Les Fichiers En Boucle

La boucle for ne lit pas le contenu du fichier lorsque nous le parcourons, mais nous permet simplement d’effectuer des opérations sur des fichiers individuels tout en les parcourant. Voyons un exemple ci-dessous.

#!/bin/bash
pour moi dans *.txt
faire
 echo "Contenu des fichiers : €i"
 chat €i
Fini

Boucle For Itérer sur les fichiers

J’ai créé deux fichiers contenant du texte à des fins de démonstration. Voyez comment j’écris la commande cat une fois et la boucle for itère sur les deux fichiers.

Écriture Du Style C Pour Les Boucles Dans Les Scripts Shell

Vous devriez être à l’aise avec l’itération sur des séquences individuelles maintenant. Passons au style C pour les boucles dont nous avons parlé précédemment. Si vous avez déjà travaillé avec C ou C++, ce sera presque la même chose. Mais même si vous ne l’avez pas fait, ce n’est pas trop difficile.

Créons une boucle for qui itère 7 fois et renvoie le nombre.

pour (( i=1; i<=7; i++ ))
faire
 echo "Numéro de boucle €i"
Fini

Boucle de style C

Comprenons la boucle section par section. La raison pour laquelle nous utilisons la double parenthèse est de signaler à bash que nous utilisons une expression de style C entre parenthèses.

  • La première expression : i=1 crée le début de la boucle.
  • La deuxième expression : i<=7 indique que la boucle doit s’exécuter jusqu’à ce que la variable soit inférieure ou égale à 7
  • La dernière expression : i++ décide comment l’incrément se produit. Dans ce cas, il arrive par 1

Conclusion