Comando Linux · 3 min read · Sep 20, 2025
Tutorial sul comando expr di Linux per principianti (con esempi)
A volte, mentre si lavora sulla riga di comando (soprattutto quando si tratta di uno script shell), ci si può trovare in una situazione in cui è necessario eseguire azioni come cercare una sottostringa in una stringa, trovare il suo indice, così come altre cose come eseguire confronti e operazioni aritmetiche.
Per coloro che non lo sanno, esiste un’utilità da riga di comando - chiamata expr - che consente di fare tutto questo. In questo tutorial, discuteremo le basi di questo comando insieme ad alcune delle funzionalità che offre. Si prega di notare che tutti gli esempi e le istruzioni menzionate qui sono stati testati su Ubuntu 16.04LTS.
Comando expr di Linux
La documentazione ufficiale dello strumento afferma che viene utilizzato per valutare espressioni. Ecco la sintassi del comando expr:
expr ESPRESSIONE
expr OPZIONEDi seguito sono riportati alcuni esempi in stile Q&A che ti daranno una buona idea di come funziona questo strumento.
Q1. Come eseguire operazioni aritmetiche utilizzando expr?
Supponiamo che tu voglia sommare due numeri (diciamo, 5 e 6), ecco come puoi farlo utilizzando expr:
expr 5 + 6Ecco il comando sopra in azione:

Quindi puoi vedere che la somma ‘11’ è stata prodotta nell’output. Si prega di notare che uno spazio singolo su entrambi i lati dell’operatore (‘+’ in questo caso) è obbligatorio. Altrimenti, il comando expr produrrebbe il seguente output:

che è chiaramente errato e non ciò che ci aspettiamo.
Allo stesso modo, un’operazione di sottrazione può essere eseguita nel seguente modo:
expr 15 - 6Ecco un esempio di divisione:
expr 10 / 3Nota che il comando sopra menzionato produrrà solo 3 nell’output. Nel caso tu voglia vedere il resto, usa l’operatore %.
expr 10 % 3
La moltiplicazione dovrebbe idealmente essere eseguita nel seguente modo:
expr 10 * 3Ma questo non funziona, perché * è anche un operatore shell incorporato. Quindi, per farlo comportare come un operatore di moltiplicazione, devi precederlo con un carattere di escape nel seguente modo:
expr 10 \* 3
Q2. Come eseguire operazioni di confronto utilizzando expr?
Il comando expr ti consente anche di eseguire operazioni di confronto in vari modi. Ad esempio, il seguente comando (terzo nello screenshot qui sotto) restituirà ARG1 se non è né nullo né 0, altrimenti ARG2.

Si prega di notare che il backslash prima della pipe è usato come carattere di escape poiché la pipe è altrimenti trattata come un operatore shell incorporato.
Allo stesso modo, puoi eseguire molte operazioni. Lo screenshot seguente - preso dalla pagina man del comando - dovrebbe darti una buona idea riguardo a quali tipi di confronti puoi fare con il comando expr.

Q3. Come eseguire operazioni relative alle stringhe utilizzando expr?
Il comando expr ti consente anche di eseguire diverse operazioni relative alle stringhe. Ad esempio, per trovare la lunghezza di una stringa, puoi utilizzare lo strumento nel seguente modo:
expr length [string]
Nel caso in cui la stringa contenga spazi, devi utilizzare il carattere di escape.

Procedendo, puoi anche usare expr per estrarre una sottostringa in una stringa data. Ecco la sintassi:
expr substr [string] [pos] [length]
Ad esempio, per ottenere ‘forge’ da ‘howtoforge’, puoi utilizzare lo strumento nel seguente modo:

Inoltre, puoi anche usare expr per trovare l’indice di partenza per un insieme di caratteri in una stringa data. Ecco la sintassi per questo
expr index [string] [chars]
Ad esempio, per trovare l’indice di ‘wt’ in ‘howtoforge’, usa expr nel seguente modo:

Conclusione
Come probabilmente concorderai, expr è un comando ricco di funzionalità, ma comunque facile da capire e semplice da usare. Qui, in questo tutorial, abbiamo cercato di fornirti informazioni riguardo alla maggior parte delle funzionalità di base che offre. Una volta che hai finito di esercitarti con queste, puoi andare alla pagina man dello strumento per saperne di più.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.