Les opérateurs
Opérateur | Signification |
---|---|
! | Négation |
-a | ET |
-o | OU |
Les opérateurs sont exécutés avec une priorité bien précise :
- ! (négation)
- -a (ET)
- -o (OU)
Le fichier /etc/group n'est pas un répertoire
$ [ ! -d /etc/group ]
$ echo $?
0
$
Le fichier monPremierScript.sh existe et est exécutable
$ [ -f monPremierScript.sh -a -x monPremierScript.sh ]
$ echo $?
0
$
Le fichier monPremierScript.sh n'est pas un répertoire mais il est exécutable
$ [ -d monPremierScript.sh -o -x monPremierScript.sh ]
$ echo $?
0
$
Il est possible de modifier la priorité d'exécution des opérateurs en utilisant des paranthèses.
\(........\)
Les parenthèses doivent être protégées par des antislashes afin de ne pas être interprétées par le shell comme étant un regroupement de commandes.
L'utilisateur doit avoir le droit d'écriture sur le fichier fic1 et le fichier fic4 ou fic7 doit exister
$ ls
fic1 fic2 fic3 fic4 fic5 fic6 script.sh
$ [ -w fic1 -a \( -e fic4 -o -e fic7 \) ]
$ echo $?
0
$
Il doit toujours y avoir un espace autour des opérateurs !, -a et -o.
Ajouter un commentaire