expr

EXPR(1L)                                                              EXPR(1L)



NOME
       expr - valuta un'espressione

SINTASSI
       expr espressione...
       expr {--help,--version}

DESCRIZIONE
       Questa documentazione non è mantenuta da lungo tempo e potrebbe essere
       inaccurata o incompleta. La documentazione in Texinfo è ora la fonte
       autorevole.

       Questa pagina di manuale documenta la versione GNU di expr.  expr
       valuta un'espressione e scrive il risultato nel suo standard output.
       Ogni token (sequenza di caratteri che viene considerata come un'unica
       componente) dell'espressione deve essere separato da un argomento. Gli
       operandi sono numeri o stringhe. Non è necessario racchiudere le
       stringhe tra virgolette per expr, sebbene ciò possa essere necessario
       per proteggerle dalla shell.  expr forza qualsiasi cosa che appare
       nella posizione di un operando ad un intero o a una stringa a seconda
       dell'operazione da applicargli.

       Gli operatori sono (in ordine di precedenza crescente):

       |      Tiene il suo primo argomento se questi non è null oppure 0,
              altrimenti il suo secondo. Ã la solita operazione di `or'.

       &      Tiene il primo argomento se nessun argomento è null o 0,
              altrimenti vale 0.

       <  <=  =  ==  !=  >=  >
              Confrontano i loro argomenti e ritornano 1 se la relazione è
              vera, 0 altrimenti (== è un sinonimo per =).  expr prova a
              forzare entrambi gli argomenti a numeri ed effettua un confronto
              numerico; se tale forzatura non riesce, fa un confronto
              lessicografico.

       +  -   Esegue operazioni aritmetiche. Entrambi gli argomenti sono
              forzati a numeri; se questo non può essere fatto viene generato
              un errore.

       *  /  %
              Esegue operazioni aritmetiche (`%' è operazione di resto, come
              in C). Entrambi gli argomenti sono forzati a numeri; se questo
              non può essere fatto viene generato un errore.

       :      Effettua un pattern matching. I suoi argomenti sono forzati a
              stringhe e il secondo è considerato essere un'espressione
              regolare, con un `^' implicitamente aggiunto al suo inizio. Del
              primo argomento ne è poi cercata una istanza in questa
              espressione regolare. Se la corrispondenza esiste e parte della
              stringa è racchiusa tra `\(' e `\)', quella parte è il valore
              dell'espressione :; altrimenti è ritornato un intero che è il
              numero di caratteri di cui è trovata la corrispondenza. Se la
              corrispondenza fallisce, l'operatore : restituisce una stringa
              nulla se sono usati `\(' e `\)', altrimenti 0. Può essere usata
              solo una coppia `\(' e `\)'.

       Sono riconosciute, inoltre, le seguenti parole chiave:

       match stringa espr_reg
              Un modo alternativo di fare il pattern matching. Ã uguale a
              ``stringa : espr_reg''.

       substr stringa posizione lunghezza
              Restituisce la sottostringa di stringa che inizia a posizione e
              lunga al più lunghezza. Se posizione o lunghezza sono negativi
              o non numerici ritorna una stringa nulla.

       index stringa classe-caratteri
              Restituisce la prima posizione di stringa dove è stato trovato
              il primo carattere di classe-caratteri. Se nessun carattere di
              classe-caratteri è trovato in stringa, restituisce 0.

       length stringa
              Restituisce la lunghezza di stringa.

       Le parentesi sono usate per i raggruppamenti nel modo solito. Le parole
       chiave non possono essere usate come stringhe.

   OPZIONI
       Quando GNU expr è chiamato con un solo argomento sono riconosciute le
       seguenti opzioni:

       --help Mostra nello standard output un messaggio d'aiuto ed esce con
              successo.

       --version
              Mostra nello standard output informazioni sulla versione ed esce
              con successo.

ESEMPI
       Per aggiungere 1 alla variabile d'ambiente a:

              a=`expr $a + 1`

       Il seguente esempio mostra un modo per stampare la parte non-directory
       del nome di file nella variabile a (il valore in a non serve contenga
       `/'):

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

       Si noti che i metacaratteri shell sono racchiusi tra virgolette.

       expr restituisce i seguenti stati d'uscita:

       0 se l'espressione non è né null né 0,
       1 se l'espressione è null o 0,
       2 per espressioni non valide.



FSF                           GNU Shell Utilities                     EXPR(1L)