La commande for permet également l'exécution
de commandes à de multiples reprises. Elle fonctionne de la manière
suivante:
for i in vache mouton coq cochon
do
echo "$i est un animal de ferme"
done
echo -e "mais\nLes
GNUs ne sont pas des animaux de ferme"
|
La commande if exécute certaines commandes
pourvu qu'une condition soit remplie (-gt
vaut pour greater than; -lt
pour lesser than). La commande exécute
toutes les lignes entre if et fi
(c'est-à-dire ``if'' épelé à l'envers).
X=10
Y=5
if test "$X" -gt "$Y"; then
echo "$X est plus grand que $Y"
fi
|
X=10
Y=5
if test "$X" -gt "$Y"; then
echo "$X est plus grand que $Y"
elif test "$X" -lt "$Y"; then
echo "$X est plus petit que $Y"
else
echo "$X est égal à $Y"
fi
|
Appelons-le backup-lots.sh:
#!/bin/sh
for i in 0 1 2 3 4 5 6 7 8 9; do
cp $1 $1.BAK-$i
done
|
#!/bin/sh
if test "$1" = ""; then
echo "Usage: backup-lots.sh <filename>"
exit
fi
for i in 0 1 2 3 4 5 6 7 8 9; do
" NEW_FILE=$1.BAK-$i
if test -e $NEW_FILE;
then
echo " already exists - skipping"
else
done
|