« Programmation Bash/Boucles » : différence entre les versions
Contenu supprimé Contenu ajouté
m Robot : ajoute Catégorie:Programmation bash-ksh (livre) |
Aucun résumé des modifications |
||
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 indeterminé de tours de boucle, voir même inifini si la condition ne devient jamais fausse (horreur programmatique !).
<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
|