Académique Documents
Professionnel Documents
Culture Documents
Remarque:
- Les espaces dans if [ test ] then sont obligatoires.
- Quand « if » et « then » sont sur la même ligne, alors on doit
les séparer par un point-virgule.
#!/bin/bash
echo " Voulez-vous lancer ls avec option -l ? "
read rep
case $rep in
[Yy] | [oO] | oui | yes ) echo " Lancement de la commande ls -l "
ls -l ;;
[Nn]*) echo " Lancement de la commande ls "
ls ;;
*) echo " Votre réponse n’est pas juste" ;;
esac
1. Boucle for
La boucle « for » n’est pas basée sur l’incrémentation d’une valeur
mais sur une variable parcourant une liste dont les éléments sont
séparés par des espaces.
Syntaxe:
for var in list for var in list ; do
do list_instructions
list_instructions done
done
%./test_for3
tmp
/home/etudiant/TP
%
# !/bin/bash
for i in 1 2 9 12 ; do
echo "$i² = $((i * i))"
done
% ./test_for4
1² = 1
2² = 4
9² = 81
12² = 144
#!/bin/bash
for arg in "$*"
do
echo "$arg"
done
%./test_for2 un "deux trois" quatre
un deux trois quatre
%
#!/bin/bash #!/bin/bash
echo " la date est : " echo " la date est : "
for x in `date` for x in $(date)
do do
echo "$x " echo "$x "
done done
% ./test_for
la date est :
mardi
25
novembre
2014,
11:59:10
%
El Mostafa DAOUDI- p. 294
2. Boucle while-do-done
La commande « while » permet de réaliser la boucle conditionnelle
«tant que».
Syntaxe:
while condition
do
liste_instructions
done
ou
while
bloc d’instructions formant la condition
do
liste_instructions
done
El Mostafa DAOUDI- p. 295
• Dans la première forme : tant que la condition retourne vrai
(retourne 0), le bloc « liste_instructions » est exécuté. On sort
de la boucle si la condition retourne false (une valeur
différente de 0).
#!/bin/bash
while read ligne # tant que ce n’est pas la fin du fichier
do
echo " $ligne " # Afficher la ligne courante
done < fiche