EXPR(1L)          Manuel de l'utilisateur Linux          EXPR(1L)


NOM
       expr - Evaluer des expressions.

SYNOPSIS
       expr expression...
       expr {--help,--version}

DESCRIPTION
       Cette page de manuel décrit la version GNU de expr.

       expr  évalue une expression, et imprime le résultat sur la
       sortie standard.

       Chaque élément minimal de l'expression  doit  être  fourni
       comme argument indépendant. Les opérandes peuvent être des
       nombres ou des chaînes de caractères.  Les  chaînes  n'ont
       pas  besoin  d'être  encadrées  pour  expr,  mais  il  est
       généralement nécessaire de le faire pour les  protéger  du
       shell.

       expr  transforme  tout  argument  apparaissant en position
       d'opérande en un entier, ou en une chaîne suivant le  type
       d'opération à appliquer.

       Les opérateurs sont (par ordre décroissant de précédence):

       |      Renvoie son premier argument s'il n'est pas nul, et
              si  sa  valeur n'est pas zéro, sinon il renvoie son
              second argument.  Il  s'agit  de  l'opération  'OU'
              habituelle.

       &      Si aucun des deux arguments n'est nul, et si aucune
              valeur n'est 0, renvoie son premier argument. Sinon
              il renvoie 0.

       <  <=  =  ==  !=  >=  >
              Compare  les  arguments et renvoie 1 si la relation
              est vraie, 0 sinon.  (== est  un  synonyme  de  =.)
              expr  transforme  les deux arguments en nombres. La
              comparaison est numérique. Si la transformation  en
              nombre   échoue,  une  comparaison  de  type  lexi­
              cographique est choisie.

       +  -   Effectuent une  opération  arithmétique.  Les  deux
              arguments sont transformés en nombres et une erreur
              se produit si c'est impossible.

       *  /  %
              Effectuent une opération arithmétique (le  `%'  est
              l'opération  `modulo'  comme  en C). Les deux argu­
              ments sont transformés en nombres et une erreur  se
              produit si c'est impossible.

       :      Effectue   une   recherche   de   sous-chaîne.  Les



FSF                      23 Decembre 1996                       1





EXPR(1L)          Manuel de l'utilisateur Linux          EXPR(1L)


              arguments sont considérés  comme  des  chaînes.  Le
              second  est  une  expression  régulière avec un `^'
              ajouté implicitement au début. Le premier  argument
              est  comparé  à  ce  motif.   Si  la correspondance
              réussit, et si une partie de la chaîne est encadrée
              par  `\(' et `\)', cette partie sera renvoyée comme
              valeur de l'expression :. Sinon l'opération renvoie
              un  entier représentant le nombre de caractères mis
              en  correspondance.  Si  la   comparaison   échoue,
              l'opérateur   :   renvoie   une   chaîne  nulle  si
              l'encadrement `\(' et `\)' est utilisé, et  renvoie
              0 sinon. On ne peut utiliser qu'un seul encadrement
              `\(' et `\)'.

       De plus, les mots-clés suivants sont valides :

       match chaîne exp_reg
              Une autre manière de faire une mise  en  correspon­
              dance.  Le  résultat  est  le  même  que ``chaîne :
              exp_reg''.

       substr chaîne pos lg
              Renvoie la partie de chaîne commençant à  la  posi­
              tion  pos et de longueur maximale lg.  Si pos ou lg
              est négatif, ou non-numérique, substr  renvoie  une
              chaîne nulle.

       index chaîne classe_caractère
              Renvoie  la  position  de  la première occurence du
              premier caractère  appartenant  à  classe_caractère
              dans  la  chaîne. Si aucun caractère de classe_car­
              actère n'est trouvé dans chaîne, 0 est renvoyé.

       length chaîne
              Renvoie la longueur de la chaîne.

       Les parenthèses servent à  grouper  les  opérations  comme
       d'habitude.  Les  mots-clés  ne  peuvent pas être utilisés
       comme chaînes.

   OPTIONS
       Quand la version GNU de expr est invoquée avec  un  unique
       argument, les options suivantes sont reconnues :

       --help Afficher  un message d'aide sur la sortie standard,
              et terminer normalement.

       --version
              Afficher un numéro de version sur la  sortie  stan­
              dard, et terminer normalement.

EXEMPLES
       Pour ajouter 1 à la variable shell a :




FSF                      23 Decembre 1996                       2





EXPR(1L)          Manuel de l'utilisateur Linux          EXPR(1L)


              a=`expr $a + 1`

       On  peut  utiliser  l'expression suivante pour imprimer la
       partie sans répertoire d'un nom de fichier situé  dans  la
       variable  a  (La valeur de a n'a pas besoin de contenir de
       `/'):

              expr $a : '.*/\(.*\)' '|' $a

       Remarquez la protection des méta-caractères du shell.

       expr renvoie les codes de retour suivants :

       0 si l'expression n'est ni nulle ni 0,
       1 si l'expression est nulle ou 0,
       2 si l'expression est invalide.


TRADUCTION
       Christophe Blaess, 1997.





































FSF                      23 Decembre 1996                       3