« Programmation Bash/Boucles » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
→Boucles until et while :
Une boucle infinie n'est pas une horreur programmatique. |
||
Ligne 1 :
{{Programmation Bash}}
== Boucle <code>for</code> ==
=== Première syntaxe ===
La boucle <code>for</code> permet de parcourir une liste de valeurs, elle effectue donc un nombre de tours de boucle qui est connu à l'avance.
<source lang="bash">
for variable in liste_valeurs
do instruction(s)
done
</
Par exemple, on peut utiliser la boucle <code>for</code> pour
<source lang="bash">
for i in *
do
done
</
Dans cet exemple, l'étoile
La boucle for est très souvent utilisée dans un script pour parcourir la liste des arguments fournie au script. Par exemple :
<source lang="bash">
for i in "$@"
do
echo "$i"
done
</source>
liste tous les arguments transmis au script.
Il est souvent utile de pouvoir effectuer une boucle sur une liste de valeurs, pour cela on utilise la fonction <code>seq</code>. Cette fonction prend en arguments deux entiers et renvoie la liste de tous les entiers compris entre ces bornes.
Ligne 35 ⟶ 49 :
=== Seconde syntaxe ===
La boucle <code>for</code> possède une deuxième syntaxe :
<source lang="bash">
for ((e1;e2;e3))
do instruction(s)
done
</
Dans laquelle, <code>e1</code>, <code>e2</code> et <code>e3</code> sont des expressions
<source lang="bash">
for ((i=0 ; 10 - $i ; i++))
do echo $i
done
</
== Boucles <code>until</code> et <code>while</code> ==
La boucle <code>while</code> exécute un bloc d'instructions tant qu'une certaine condition est satisfaite, lorsque cette condition devient fausse la boucle se termine. Cette boucle permet donc de faire un nombre
<source lang="bash">
while condition
do instruction(s)
done
</
<source lang="bash">
#! /bin/
a_trouver=$(($RANDOM % 100))
Ligne 72 ⟶ 86 :
done
echo "bravo, le nombre etait en effet $a_trouver"
</
La syntaxe de la boucle <code>until</code> est exactement la même que celle de la boucle <code>while</code>, mais sa signification est inversée : la boucle est exécutée tant que la condition est fausse.
[[Catégorie:Programmation
|