mercoledì 15 giugno 2011

Progetto Bash: Introduzione. Quarta Parte

 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

4 commenti:

  1. 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
  2. :D :D Inizio a capire e pure a divertirmi!

    RispondiElimina