EXPRESSIONS CONDITIONNELLES CONDITIONAL EXPRESSIONS
Pour effectuer un test, deux syntaxes: test expr cond ou
[expr cond].
par exemple:
if test -b /dev/fd0 ; then echo fd0 is a block device;fi
if [ -b /dev/fd0 ] ; then echo fd0 is a block device;fi
- -b fichier
  Une entrée de répertoire ``fichier'' existe et
  est de type block device.
 
- -c fichier
  Une entrée de répertoire existe et est de type character device
 
- -d fichier
  Une entrée de répertoire existe et est un (sous-)répertoire.
 
- -e fichier
  Une entrée de répertoire existe.
 
- -f fichier
  Une entrée de répertoire existe et est un fichier régulier.
 
- -g fichier
  Une entrée de répertoire existe et a son bit Set-GID positionné.
 
- -h fichier
  Une entrée de répertoire existe et est un lien symbolique.
 
- -k fichier
  Une entrée de répertoire existe et a son bit sticky positionné.
 
- -p fichier
  Une entrée de répertoire existe et est un tube nommé (FIFO).
 
- -r fichier
  Une entrée de répertoire existe et est accessible en lecture avec les
  droits actuels.
 
- -s fichier
  Une entrée de répertoire existe, est un fichier et a une taille non nulle.
 
- -t [fd]
  Vrai si fd est ouvert sur un terminal. Si fd n'est pas fourni,
  les test est effectué sur la sortie standard.
 
- -u fichier
  Une entrée de répertoire existe et a son bit Set-UID positionné.
 
- -w fichier
  Une entrée de répertoire existe et est accessible en écriture avec les
  droits actuels.
 
- -x fichier
  Une entrée de répertoire existe et est exécutable avec les droits actuels.
 
- -O fichier
  Une entrée de répertoire existe et appartient à l'ID effectif de
  l'utilisateur.
 
- -G fichier
  Une entrée de répertoire existe et appartient au groupe effectif
  de l'utilisateur.
 
- -L fichier
  Une entrée de répertoire existe et est un lien symbolique.
 
- -S fichier
  Une entrée de répertoire existe et est une socket.
 
- -N fichier
  Une entrée de répertoire existe et a une date de lecture antérieur
  à sa date de modification.
 
- fichier1 -nt fichier2
  Vrai  si  le  fichier1 est  plus récent que le fichier2,
  d'après les dates de modification.
 
- fichier1 -ot fichier2
  Vrai si le fichier1 est plus vieux que le fichier2.
 
- fichier1 -ef fichier2
  Vrai si le fichier1  et  le  fichier2  sont  sur  le  même
  périphérique et ont les mêmes numéros d'i-noeuds (liens durs).
 
- -o option
  Vrai  si  l'option  shell option est active. (voir commande set -o
  section sec:set)
 
- -z chaîne
  Vrai si la longueur de la chaîne est nulle.
 
- -n chaîne
 
- chaîne Vrai si la longueur de la chaîne est non-nulle.
 
- chaîne1 == chaîne2
  Vrai  si  les  deux  chaînes sont égales. Le symbole = peut
  servir à remplacer ==
 
- chaîne1 != chaîne2
  Vrai si les deux chaînes sont différentes.
 
- chaîne1 < chaîne2
  Vrai si chaîne1 est plus petit que chaîne2 dans le sens
  alphanumérique du terme.
 
- chaîne1 > chaîne2
  Vrai si chaîne1 est plus grand que chaîne2 dans le sens
  alphanumérique du terme.
 
- arg1 OP arg2
  Où arg1 et arg2 sont des nombres entiers, et
  OP est l'un des opérateurs arithmérique suivants:
  
- -eq Arg1 est égal à arg2,
 
- -ne Arg1 est différent d'arg2,
 
- -lt Arg1 est inférieur à arg2,
 
- -le Arg1 est inférieur   ou  égal à arg2,
 
- -gt Arg1 est supérieur à arg2,
 
- -ge Arg1 est supérieur ou égal à arg2,
  
 
 
voir ``help test''.
Félix Hauri
2004-06-23