Progetto Bash: Introduzione. Le operazioni aritmetiche.
Dopo aver parlato di variabili e di parametri posizionali, oggi faremo un pò di aritimetica con bash. Il post è un pò impegnativo, perciò, ragazzi, un minimo di attenzione. :D
Iniziamo dal comando Let.
Cosa fa il comando let?
Esegue operazioni aritmetiche e ne archivia il risultato in una variabile
Il primo concetto che bisogna ricordare è come si assegna un valore ad una variabile. Vi ricordate? Ne abbiamo parlato qui e qui
nome_variabile=valore
Supponiamo che la nostra variabile si chiami "rex"
Bene!
Iniziamo dalla somma ---> "+"
let rex=10+20
In tal caso, la somma "10+20" (è il valore, il famoso contenuto) sarà assegnata alla variabile rex (il famoso contenitore)
Perciò se faccio
echo $rex
Il risultato sarà 30
Facciamo un "passettino" in avanti.
Sappiamo che la variabile rex ha come valore 30
Prendiamo un'altra viariabile che chiameremo rox
assegnamogli come valore un'altra somma
let rox=20+10
echo $rox
Il risultato sarà 30
Quindi avremo che il valore di rox è uguale a 30 e il valore di rex è uguale a 30
Ora sommiamo i valori delle due variabili e il risultato lo assegniamo alla variabile rex
let rex=rex+rox
echo $rex
Il risultato sarà 60
oppure si può usare la seguente sintassi
rex=30 rox=30
let rex+=rox
echo $rex
risultato 60
Il discorso diventa ancora più semplice se usiamo i parametri posizionali. Vi ricordate i parametri posizionali? ne abbiamo parlato qui
Costruiamo uno script
#!/bin/bash
# i valori dei due parametri vanno assegnati da riga di comando, subito dopo il nome dello script.
rex=$1
rox=$2
#sommiamo i valori dei due parametri posizionali
let rex=$1+$2
# mostriamo a video il risultato
echo "il risultato della somma dei valori delle due variabili è uguale a $rex"
exit 0
Salviamo sulla scrivania il testo in somma.sh
Apriamo il terminale e con
cd Scrivania
spostiamoci sulla scrivania
Rendiamo eseguibile lo script
chmod +x somma.sh
lanciamo lo script
./somma.sh primo_parametro secondo_parametro
es.
./somma.sh 80 70
Vediamo ora, in modo sintetico e con esempi, gli altri operatori aritmetici cui si applica lo stesso discorso che abbiamo fatto per la somma.
Sottrazione-----> "-"
rex=20 rox=10
let rex=rex-rox
echo $rex
risultato "10"
Oppure
rex=20 rox=10
let rex-=rox
echo $rex
risultato 10
divisione------> "/"
rex=20 rox=10
let rex=rex/rox
echo $rex
risultato "2"
oppure
rex=20 rox=10
let rex/=rox
echo $rex
risultato 2
moltiplicazione---> "*"
rex=20 rox=10
let rex=rex*rox
echo $rex
risultato "200"
oppure
rex=20 rox=10
let rex*=rox
echo $rex
risultato 200
Elevamento a potenza ----> "**" (Nell'esempio sotto, 4 elevato a 2)
rex=4 rox=2
let rex=rex**rox
echo $rex
risultato 16
Restituisce solo il resto della divisione----> "%"
rex=15 rox=7
let rex=rex%rox
echo $rex
risultato 1
oppure
rex=15 rox=7
let rex%=rox
echo $rex
risultato 1
Per oggi mi fermo qui; continuiamo con le operazioni aritmetiche nel prossimo post. Vi consiglio vivamente di fare qualche esercizio.
io & Lightuono
Alla prossima :D
Bit, dopo aver preparato il primo script ho provato a vedere se avevo afferrato il concetto. Così senza leggere il seguito del post, ho fatto diventare lo script eseguibile e poi l'ho lanciato dandogli i due paramtri posizionali e ha funzionato :)
RispondiElimina:D :D Inizio a capire e pure a divertirmi!
RispondiElimina@Squit
RispondiEliminaSei un grande!!! :D
Bravissimo @Squit :D :D :D
RispondiElimina