Boucle for :

for i in $(ls)
do 
	echo $i
done

**Note : ** A éviter pour la lecteur de fichier ligne à ligne, car la boucle for évalue mot à mot !

ou passer pas la modification de IFS :

old_IFS=$IFS
IFS=$'\n'
for i in $(cat fichier)
do 
	echo $i
done
IFS=$old_IFS

Boucle while :

Exécute la commande tant que la condition est vrai :

while [ $a -lt 10 ]
do
  echo $a
  a=`expr $a + 1`
done
0
1
2
3
4
5
6
7
8
9
while read ligne
do
	echo $ligne
done < fichier

**Note : ** La boucle while exécute un bloc d’instructions tant qu’une certaine condition est satisfaite, lorsque cette condition devient fausse la boucle se termine. ou

cat fichier | while  read ligne
do
	echo $ligne
done

Boucle until :

Exécute la commande jusqu’à ce que la condition soit vrai :

a=0
until [ ! $a -lt 10 ]
do
   echo $a
   a=`expr $a + 1`
done

0
1
2
3
4
5
6
7
8
9

Exemples

for var in 0 1 2 3 4 5 6 7 8 9 22
do
	echo $var
done
0
1
2
3
4
5
6
7
8
9
22
for FILE in $HOME/.bash*
do
	echo $FILE
done
/home/alasta/.bash_history
/home/alasta/.bash_profile
/home/alasta/.bashrc
for ((i = 10; i >= 0; i -= 1))
do	
	echo $i
done 
10
9
8
7
6
5
4
3
2
1
0