« Programmation Bash/Boucles » : différence entre les versions
Contenu supprimé Contenu ajouté
les " " sont tres importantes si les arguments contiennet des espaces |
m Robot : ajoute Catégorie:Programmation bash-ksh (livre) |
||
Ligne 1 :
== 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.
<pre>
for variable in liste_valeurs
do instruction(s)
done
</
Par exemple, on peut utiliser la boucle <code>for</code> pour
<pre>
for i in *
▲ echo $i
done
</
Dans cet exemple, l'étoile
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 49 ⟶ 35 :
=== Seconde syntaxe ===
La boucle <code>for</code> possède une deuxième syntaxe :
<pre>
for ((e1;e2;e3))
do instruction(s)
done
</
Dans laquelle, <code>e1</code>, <code>e2</code> et <code>e3</code> sont des expressions
<pre>
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
<pre>
while condition
do instruction(s)
done
</
<pre>
#! /bin/
a_trouver=$(($RANDOM % 100))
Ligne 86 ⟶ 72 :
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
|