Provided by:
manpages-it_0.3.4-1_all 
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.