PuTTYgen

Télécharger PuTTYgen - Générateur de clé Putty

Bash for Loop (avec exemples)

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.

Contenu

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.