Programmation shell avancée (If, While et For)

#IF La builtin if permet de tester la reussite d’une commande. Apres le if vous devez mettre un then, puis un fi a la fin de votre bloc. else permet d’utiliser un bloc alternatif au bloc then.

Mais un exemple est beaucoup plus clair :

#!/bin/sh
if cat noplay.txt
   then
      echo Le cat du fichier noplay.txt a reussi
elif cat test.txt
   then
      echo Le cat du fichier noplay.txt n a pas reussi mais le cat de test.txt a reussi
   else
      echo Le cat du fichier noplay.txt n a pas reussi
fi

Pour faire des comparaisons entre des variables vous devez utiliser la commande [ ou test ([ est un alias vers test).

if [ $test ]
then
   La variable test n'est pas vide
fi

if [$test = 2]
then
   La variable test est egale a deux
fi

Faite un man [ pour connaitre les possibilites de la commande [.

#WHILE while boucle tant qu’une condition est vraie.

while commande
do
commande à executer à chaque tour de boucle
done

#FOR Permet d’appliquer un traitement à une liste.

Par exemple pour afficher la liste des fichiers avec l’extension .jpg:

for file in *.jpg
do
  echo $file
done