19 BASH – Variabili e calcoli

4 Marzo, 2024 (15:49) | BASH, Linux | By: sargonsei

19 BASH – Variabili e calcoli

Le variabili BASH non sono tipizzate, nè all’interno di una shell, nè all’interno di uno script. Come conseguenza di ciò, se non diversamente specificato in ogni singola istruzione, vengono trattate come variabili stringa e, anche se nell’istruzione è specificato che una variabile deve contenere il risultato di un’operazione matematica, essa può contenere solo numeri interi, troncando tutti i decimali. Per specificare che il contenuto numerico di una variabile deve essere trattato come una cifra, occorre far precedere la variabile dal comando let seguito da uno spazio. Seguono alcuni esempi.
A=1239/10; echo $A # Visualizza sullo schermo il valore di $A che, in questo caso, è 1239/10
let A=1239/10; echo $A # Visualizza sullo schermo il valore di $A che, in questo caso, è 123
A=1239/10; B=${A/12/BB}; echo "$A $B" # Visualizza sullo schermo 1239/10 BB39/10
let A=1239/10; B=${A/12/BB}; echo "$A $B" # Visualizza sullo schermo 123 BB3

AA=10 BB=20 CC=30; DD=$AA$BB$CC; echo $DD # Visualizza 102030
AA=10 BB=20 CC=30; let DD=$AA$BB$CC; echo $DD # Visualizza 102030
AA=10 BB=20 CC=30; DD=$AA+$BB+$CC; echo $DD # Visualizza 10+20+30
AA=10 BB=20 CC=30; let DD=$AA+$BB+$CC; echo $DD # Visualizza 60
AA=10 BB=20 CC=30; DD=$(($AA+$BB+$CC)); echo $DD # Visualizza 60
let AA=3+3; echo $AA # Calcola e visualizza il contenuto della variabile AA, che in questo caso è 6
let AA=3-3; echo $AA # Calcola e visualizza il contenuto della variabile AA, che in questo caso è 0
let AA=3*3; echo $AA # Calcola e visualizza il contenuto della variabile AA, che in questo caso è 9
let AA=3/3; echo $AA # Calcola e visualizza il contenuto della variabile AA, che in questo caso è 1
let AA=3**3; echo $AA # Calcola e visualizza il contenuto della variabile AA, che in questo caso è (3 al cubo)=27
(( AA=3*(2+4)-8/(5-3)-3**2 )); echo $AA # Calcola e visualizza il contenuto della variabile AA, che in questo caso è 5
AA=3; echo $(($AA*4-30/$AA+5)) # Visualizza il risultato dell'espressione ($AA*4-30/$AA+5) che, in questo, caso è 7

Collegamento esterno a “Comandi per le operazioni matematiche
http://www.pluto.it/files/ildp/guide/abs/mathc.html