Les boucles sont l'un des concepts de programmation les plus puissants et les plus fondamentaux qui permettent aux utilisateurs d'exécuter une commande ou un ensemble de commandes à plusieurs reprises. Les boucles sont très pratiques pour tous les programmeurs qui doivent exécuter une série de commandes à plusieurs reprises jusqu'à ce qu'elles remplissent certaines conditions.
En d'autres termes, les boucles sont faciles et idéales pour effectuer des tâches répétitives. Son utilisation est encore plus importante lorsque vous travaillez avec des langages de script tels que Bash. Notre article fournira toutes les bases des boucles for dans Bash.
Il existe différentes constructions de boucles telles que la boucle while, la boucle until, la boucle select et la boucle for. Cependant, dans cet article, nous nous concentrerons sur la très populaire «boucle for». Il expliquera comment et quand utiliser l'outil "pour le pool".
Ci-dessus, les boucles sont un ensemble de commandes qu'un ordinateur exécute encore et encore jusqu'à ce qu'une condition prédéfinie soit remplie. Les programmeurs ont également la liberté de rompre la boucle avant même que la condition ne soit remplie. Généralement, la boucle Bash For est utilisée pour diverses tâches telles que le comptage de fichiers ou la recherche d'informations. Par exemple, si vous voulez exécuter une instruction cinq fois, il est préférable d'exécuter la syntaxe de la boucle for plutôt que de taper le même code cinq fois.
Les nouveaux programmeurs ne savent souvent pas comment utiliser la boucle bash for, et il est courant que les programmeurs amateurs consultent des forums pour apprendre à utiliser bash for loop sous Linux. Comment définir des boucles infinies ? Cet article aidera les codeurs à comprendre la meilleure façon d'utiliser l'expression de boucles avec des paramètres de base pour avancer.
La boucle for est souvent considérée comme une instruction d'itération dans laquelle il s'agit d'un moyen de répéter un processus dans un script bash. On peut utiliser l' instruction de boucle for même dans un script shell. Alors que la boucle For est une instruction principale dans de nombreux langages de programmation, nous nous concentrerons sur la façon de l'utiliser pour le langage bash.
Êtes-vous prêt à ajouter un autre outil à votre arsenal de développeurs? Explorons plus en profondeur les outils les plus fréquemment utilisés.
Bash standard pour la boucle
Voici un exemple de la façon dont la boucle Bash For prend la forme:
for item in [LIST]
do
[COMMANDS]
done
Dans l'expression ci-dessus, la liste peut être une série d'éléments séparés par n'importe quoi, d'une plage de nombres à un tableau.
Sur les cordes
Regardons maintenant Bash standard pour Loop over Strings. Par exemple, dans l'exemple ci-dessous, la boucle répétera chaque élément de la liste des chaînes et des éléments variables fixés à l'élément actuel.
for element in Gold Silver Diamond Platinum
do
echo "Element: $element"
Done
Sur une plage de nombres
De même, pour définir une plage de nombres, on peut utiliser l'expression de séquence. Pour ce faire, les programmeurs doivent désigner les points de début et de fin de la plage. Il est exprimé sous la forme suivante - {START..END}
Par exemple, regardons l'exemple suivant où il parcourra le nombre commençant
from 3 to 7.
for i in {3..7}
do
echo "Number: $i"
done
Lors de l'utilisation de plages, les programmeurs peuvent également choisir d'indiquer l'incrément. L'expression ressemblerait à ceci - {START..END..INCREMENT}
for i in {0..20..5}
do
echo "Number: $i"
done
Sur les éléments du tableau
Bien que l'on puisse utiliser la boucle for pour les nombres et les chaînes, les programmeurs peuvent même en tirer parti pour répéter sur une plage. Par exemple, nous énoncerons un tableau - Joueurs et itérerons sur chacun des éléments de la plage.
PLAYERS=('Cristiano Ronaldo' 'Lionel Messi' 'Iker Casillas')
for player in "${PLAYERS[@]}"; do
echo "Player: $player"
done
Pause et continuer pour la boucle
Alors que le but principal de la boucle For est d'itérer, vous voulez qu'elle arrête de se répéter et rompe la boucle lorsqu'une condition spécifique est remplie. D'ailleurs, il existe des instructions indépendantes pour rompre et continuer la boucle. En d'autres termes, les instructions break et continue sont l'outil par lequel les programmeurs peuvent gérer les instructions de boucle for.">
Déclaration de rupture
Aussi simple qu'elle se lit, l'instruction break est utilisée pour terminer la boucle for actuelle. Pour utiliser l'instruction break, les utilisateurs doivent spécifier une condition particulière lorsqu'elle est remplie pour rompre la boucle. Les programmeurs peuvent même utiliser l'instruction break lorsqu'ils veulent arrêter la boucle for avant la planification.
Par exemple, nous utilisons l'instruction if pour terminer la boucle for une fois que l'élément actuel est identique à "Diamond".
for element in Gold Silver Diamond Platinum; do
if [[ "$element" == 'Diamond' ]]; then
break
fi
echo "Element: $element"
done
echo 'All Done!'
Continuer la déclaration
De même, les programmeurs peuvent utiliser l'instruction continue pour d'abord quitter la répétition en cours, puis initier la répétition à l'itération suivante de la boucle. Par exemple, utilisons l'instruction continue pour parcourir une plage de nombres et lorsqu'elle atteint un nombre spécifique, qui dans ce cas sera '4', l'instruction continue quittera l'itération et reviendra au début de la boucle pour commencer la prochaine itération.
for i in {3..7}; do
if [[ "$i" == '4' ]]; then
continue
fi
echo "Number: $i"
done
Exemples de Bash pour les boucles
Il existe deux façons d'utiliser la boucle For dans bash, l'une dans la "syntaxe de style c" et l'autre dans "for-in". La syntaxe des boucles for de style c est la suivante:
for ((INITIALIZATION; TEST; STEP))
do
[COMMANDS]
done
Meanwhile, as aforementioned, the ‘for-in’ loop will take the following form:
for variable in list
do
Statements
Done
Examinons quelques-uns des exemples d'utilisation de la boucle for dans Bash maintenant que la syntaxe est claire.
Exemple 1 - Boucle pour lire la variable d'entrée
En utilisant la boucle for, il est simple de lire les chaînes ou le tableau prédéfinis. Voici un exemple d'utilisation de la boucle for. Dans l'exemple, nous prendrons la valeur d'entrée d'un texte qui a plusieurs mots qui seront pris après l'exécution du script. Nous utiliserons la boucle for pour diviser le texte prédéfini en fonction des espaces blancs. Assurez-vous ensuite que le script imprimera chaque mot.
#!/bin/bash
echo "Enter a text of multiple words"
read text
i=1
for word in $text
do
echo "Word No-$i = $word"
((i=$i+1))
done
Exécutez ensuite le script suivant:
$ bash forloop1.sh
Exemple 2 - boucle for avec une instruction break
L'instruction break est utilisée dans la 'boucle for' pour terminer la boucle. Tout d'abord, créez un fichier et exécutez le code suivant. Par exemple, nous utiliserons la boucle for pour lire la liste des noms, et nous testerons deux conditions. La première est si le nom de la personne est "Jordan" et la forme "Triangle", donc dans ce cas, la boucle se terminera après avoir imprimé le Jordan et le Triangle. La boucle for de la forme s'exécutera jusqu'à ce que la forme corresponde.
for name in Jordan Micheal Smith John Nicolas
do
if [ $name == 'Jordan' ]
then
for shape in Circle Triangle Square Rectangle
do
if [ $shape == "Triangle" ]
then
echo "The favorite shape of $name is $shape"
break
else
echo "The current shape is $shape"
fi
done
fi
done
Exemple 3 - Lecture de fichiers et de répertoires à l'aide de la boucle for
Les programmeurs peuvent utiliser l'instruction de boucle for pour lire et imprimer la liste des fichiers et dossiers du répertoire courant. Tout d'abord, créez un nom de fichier et exécutez le script suivant. Les utilisateurs doivent noter que le '*' est utilisé pour lire les fichiers dans la 'boucle for'. Le fonctionnement de la boucle est de manière simple en lisant chaque fichier ou dossier à travers l'étape du répertoire et imprime avec la sortie dans le terminal avec l'espace 'tab'.
printf "Pinting the files and folders of the current Directory...\n\n"
for list in *
do
printf "$list\t"
done
printf "\n\nDone\n"
Ensuite, exécutez le script ci-dessous
$ bash forloop1.sh
Exemple 4 - Renommer des fichiers avec des espaces
Voyons comment nous pouvons utiliser Bash for loop pour renommer tous les fichiers du répertoire actuel qui a de l'espace. Par exemple, nous remplacerons l'espace dans le nom du fichier par un signe de pourcentage -%.
for file in *% *; do
mv "$file" "${file// /_}"
done
Comprenons maintenant l'instruction de boucle ci-dessus.
La première ligne de l'expression crée une boucle for et la répète dans la liste des fichiers dont le nom contient de l'espace. La première expression générera la liste, tandis que la deuxième ligne applique ensuite le changement de nom à chaque fichier de la liste. Par conséquent, dans notre exemple, il remplacera l'espace par un signe de pourcentage. Pendant ce temps, 'done' à la fin spécifie la fin du segment de boucle.
Exemple 5 - Modification de l'extension de fichier
En utilisant la boucle for, on peut changer l'extension de fichier de tous les fichiers du répertoire courant. Par exemple, nous remplacerons tous les fichiers .jpeg par des fichiers .png en utilisant la boucle for.
for file in *.jpeg; do
mv -- "$file" "${file%.jpeg}.png"
done
De même, comme dans l'exemple ci-dessus, la première ligne listera tous les fichiers se terminant par l'extension .jpeg dans le répertoire courant. Alors que la deuxième ligne remplacera .jpeg par .png.
Ce qui précède est un résumé de la boucle for pour Bash. Bien que nous n'ayons énuméré que quelques exemples, il existe différentes façons d'utiliser l'instruction et d'être plus créatif et efficace.