Introduzione, prima parte: Le variabili
Prima di parlare del costrutto IF, dobbiamo fare una piccola introduzione al tema delle variabili; ma prima ancora di parlare delle variabili, dobbiamo fare un'altro tipo di introduzione (l'introduzione dell'introduzione) :D
Quando si scrive uno script, alla prima riga è necessario inserire:
#!/bin/bash
dove "#!" indica l'interprete da eseguire che, in questo caso, è la shell bash
Non inserendolo non è che lo script non parta o che non venga eseguito, ma non viene interpretato come si deve.
Facciamo un esempio :
Se creo un file con solo alcuni comandi, quali
echo "ecco la lista"
ls -ls
echo "fine della stampa"
Lo script viene eseguito anche senza la prima riga, cioè senza "#!/bin/bash"
Ma se lo script è più corposo oppure viene eseguito su un sistema diverso, è necessario aggiungere la prima riga dell'interprete, altrimenti potrebbe dare qualche errore.
All'inizio abbiamo usato l'espessione "shell bash"
La domanda viene (quasi) spontanea: Cos'è una shell? Per ora possiamo dire che la shell interpreta i comandi degli utenti e che nei sistemi GNU/Linux ce ne sono tante; le più note sono Bash(Bourne-Again Shell) e la Korn Shell.
Una panoramica delle shell, che si possono utilizzare su GNU/Linux, si trova nel file /etc/shells
Basta digitare:
cat /etc/shells
Ogni shell ha caratteristiche diverse; Le caratteristiche consistono in funzionalità aggiuntive, in plugin, etc.
Dopo questa piccola introduzione alla meno peggio, passiamo alle variabili. :D
Prima di dire cos'è una variabile, ve la facciamo vedere (la variabile si intende) :D
eccola
variabile=valore
Possiamo immaginare la variabile come un contenitore vuoto il cui ipotetico contenuto è costituito da un valore; e con il segno "=" andiamo a mettere il contenuto nel contentiore.
Facciamo un esempio:
anno=2011
In questo esempio abbiamo preso il valore "2011" e lo abbiamo messo tramite "=" nel contenitore "anno"; il contenitore anno è, appunto, una variabile che contiene il valore "2011"
E se volessimo vedere il contenuto/il valore (2011) della variabile "anno"?
Non bisogna fare altro che aggiungere il "$" davanti al contenitore/variabile, in questo modo
$nome_variabile
nel nostro caso:
$anno
Facciamo un esempio
aprite il terminale e digitate
anno=2011 e poi premete invio
ora digitate
echo $anno
Avete visto il contenuto/valore della variabile? :D
Da questo momento in poi il discorso può sembrare leggermente un pò più complicato! (ma non lo è) :D
E se volessimo mettere il valore di una variabile (nel nostro caso $anno) anche in un'altra variabile (ad esempio $data)? Ve lo avevo detto che il discorso avrebbe preso un'altra piega! :D
Rispondiamo a questo interrogativo con un esempio.
Creiamo la nostra variabile
anno=2011
abbiamo così messo il valore 2011 nella variabile $anno
Ora, per mettere il valore 2011 anche nella variabile $data si fa così
data=$anno
In questo modo il valore della variabile $anno sarà contenuto anche nella variabile $data, cioè il valore "2011" sarà contenuto sia in $anno che in $data
Vediamolo praticamente scrivendo un piccolo script
Aprite un file di testo sulla scrivania e copiate questo contenuto (capendolo ovviamente)
#!/bin/bash
anno=2011
data=$anno
echo $data
echo $anno
Salvate e nominatelo es.sh
ora aprite un terminale e spostatevi sulla scrivania con
cd Scrivania
rendete eseguibile lo script con
sudo chmod +x es.sh
e lanciatelo digitando
./es.sh
Avete visto il risultato? Le variabili $anno e $data avranno lo stesso valore :))
Per oggi ci fermiamo qui! La prossima volta continueremo a parlare di variabili, per poi passare al primo argomento vero e proprio, cioè al costrutto IF
Lightuono & Bit3Lux
semplicemente stupendo,l'iniziativa mira molto in alto,e si distingue dai vari blog a cui siamo abituati,il tutto condito dalla massima chiarezza e semplicita' di comunicazione.grazie e complimenti per l'iniziativa
RispondiElimina@perscicli
RispondiEliminaTi ringraziamo tanto per il commento. Le tue parole per noi sono un grande incoraggiamento per portare avanti 'sto progetto. :D
@Pippo
RispondiEliminaGrazie :D Pure noi speriamo che il progetto possa andare avanti ;) Grazie per il commento.
Che bello.. Presi per mano e guidati.. Ho anche visto che Gedit colora in maniera diversa le variabili e i comandi.. che linguaggio semplice che usate! Bravi :)
RispondiElimina@Squit
RispondiEliminaGrazie!!! :D :D
Grazie mille Bit3Lux per questa lodevole iniziativa. Sarai ricompensato con dei buonissimi cannoli siciliani.;-)
RispondiEliminaE` da tempo che aspettavo dei post del genere.
Grazie ancora.
@Gandalf582
RispondiEliminaGrazie!! Non vedo l'ora di addentare i buonissimi cannoli :D :D
gran bel post :D
RispondiEliminaottima iniziativa ;)
RispondiEliminaedmond
@picchio @edmond
RispondiEliminaGrazie tante. Ci sentiamo onorati del vostro gradimento :D
condivido , quello che scrive perscicli,la chiarezza e la semplicità di questa guida è anche il suo punto di forza::::::::::::.......... continuate cosììì::::.......
RispondiEliminaIo ribadisco!
RispondiEliminaOTIIMO LAVORO E INIZIATIVA!!!
Mi raccomando non fermatevi però e fate dei o un pdf contenente l' intera guida!!
La spargeremo nell infinito... Del web :)
Saluti!!
anche se tardi complimenti per le guide bash
RispondiEliminaGrazie! :)
EliminaSto leggendo con piacere tutti i post del Progetto Bash, soprattutto i "Botta e risposta". Andate avanti così!
RispondiElimina