Unix / Linux - Esempio di operatori aritmetici della shell
I seguenti operatori aritmetici sono supportati da Bourne Shell.
Assumi variabile a detiene 10 e variabile b detiene 20 quindi -
Operatore | Descrizione | Esempio |
---|---|---|
+ (Aggiunta) | Aggiunge valori su entrambi i lati dell'operatore | `expr $ a + $ b` darà 30 |
- (Sottrazione) | Sottrae l'operando di destra dall'operando di sinistra | `expr $ a - $ b` darà -10 |
* (Moltiplicazione) | Moltiplica i valori su entrambi i lati dell'operatore | `expr $ a \ * $ b` darà 200 |
/ (Divisione) | Divide l'operando sinistro per l'operando destro | `expr $ b / $ a` darà 2 |
% (Modulo) | Divide l'operando di sinistra per l'operando di destra e restituisce il resto | `expr $ b% $ a` darà 0 |
= (Assegnazione) | Assegna l'operando destro all'operando sinistro | a = $ b assegnerebbe il valore di b in a |
== (uguaglianza) | Confronta due numeri, se entrambi sono uguali restituisce vero. | [$ a == $ b] restituirà false. |
! = (Non uguaglianza) | Confronta due numeri, se entrambi sono diversi restituisce vero. | [$ a! = $ b] restituirà true. |
È molto importante capire che tutte le espressioni condizionali dovrebbero essere all'interno di parentesi quadre con spazi attorno ad esse, per esempio [ $a == $b ] è corretto mentre, [$a==$b] non è corretto.
Tutti i calcoli aritmetici vengono eseguiti utilizzando numeri interi lunghi.
Esempio
Ecco un esempio che utilizza tutti gli operatori aritmetici:
#!/bin/sh
a=10
b=20
val=`expr $a + $b`
echo "a + b : $val"
val=`expr $a - $b`
echo "a - b : $val"
val=`expr $a \* $b`
echo "a * b : $val"
val=`expr $b / $a`
echo "b / a : $val"
val=`expr $b % $a`
echo "b % a : $val"
if [ $a == $b ]
then
echo "a is equal to b"
fi
if [ $a != $b ]
then
echo "a is not equal to b"
fi
Lo script sopra produrrà il seguente risultato:
a + b : 30
a - b : -10
a * b : 200
b / a : 2
b % a : 0
a is not equal to b
I seguenti punti devono essere considerati quando si utilizzano gli operatori aritmetici:
Devono essere presenti degli spazi tra gli operatori e le espressioni. Ad esempio, 2 + 2 non è corretto; dovrebbe essere scritto come 2 + 2.
L'espressione completa dovrebbe essere racchiusa tra ‘ ‘, chiamate virgolette.
Dovresti usare \ sul * simbolo per la moltiplicazione.
if...then...fi dichiarazione è una dichiarazione decisionale che è stata spiegata nel prossimo capitolo.