next up previous contents index
suivant: Les listes de commandes monter: Commandes évoluées pour les précédent: La commande « read »   Table des matières   Index

La commande « expr »

Syntaxe :


expr expression

Les arguments de la commande « expr » sont considérés comme une expression. La commande « expr » évalue ses arguments et écrit le résultat sur la sortie standard. « expr », comme toutes les commandes UNIX, doit avoir ses arguments séparés par des espaces. La première utilisation de « expr » concerne les opérations arithmétiques simples. Les opérateurs +, -, * et / correspondent respectivement à l'addition, à la soustraction, à la multiplication et à la division.

La seconde utilisation de la commande « expr » concerne la comparaison et la gestion des chaînes de caractères grâce à l'opérateur « : ». Celui-ci permet de compter combien de fois apparaît, dans l'expression placée en premier membre, l'expression régulière spécifiée en second membre. Pour plus de renseignements, reportez vous au chapitre [*].

Il est possible d'effectuer des regroupements grâce à des parenthèses, comme dans toute opération arithmétique.

Attention :


Ne pas oublier que le processus d'évaluation du shell effectue ses opérations avant de passer le contrôle à la commande « expr ». Par conséquent, les caractères « * », « ( » et « ) » risquent d'être évalués par le shell et non pas passé en argument à la commande « expr ». Il faudra donc les faire précéder du caractère « \ » (cf. sections [*] et [*]).

Exemple 9..2 :


Exemples valides :
% X=3; Y=5
% Z=`expr $X + 4 `
% echo $Z
7
% Z=`expr \( $Z + $X \) \* $Y`
% echo $Z
50
% X=abcdef
% Z=`expr $X : '.*' `
% echo $Z
6
% Z=`expr \( $X : '.*' \) + $Y`
% echo $Z
11

Exemples non valides :


Z=`expr $X+4`   
  
Z=`expr $X * $Y`   
  
Z=`expr 3 fic1 fic2 fic3 fic4 fic5 fic6 4`   
  
Z=`expr ( $X \* $Y ) + $Z`   
  


next up previous contents index
suivant: Les listes de commandes monter: Commandes évoluées pour les précédent: La commande « read »   Table des matières   Index
baudry@esme.fr