|
|
EXPR
Section: Misc. Reference Manual Pages (1L) Updated: GNU Shell Utilities Index
Return to Main Contents
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.
Index
- NOME
-
- SINTASSI
-
- DESCRIZIONE
-
- OPZIONI
-
- ESEMPI
-
|