giovedì 9 giugno 2011

Progetto Bash: Introduzione. Prima parte.

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

15 commenti:

  1. 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
  2. @perscicli
    Ti ringraziamo tanto per il commento. Le tue parole per noi sono un grande incoraggiamento per portare avanti 'sto progetto. :D

    RispondiElimina
  3. @Pippo
    Grazie :D Pure noi speriamo che il progetto possa andare avanti ;) Grazie per il commento.

    RispondiElimina
  4. 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
  5. Grazie mille Bit3Lux per questa lodevole iniziativa. Sarai ricompensato con dei buonissimi cannoli siciliani.;-)
    E` da tempo che aspettavo dei post del genere.
    Grazie ancora.

    RispondiElimina
  6. @Gandalf582
    Grazie!! Non vedo l'ora di addentare i buonissimi cannoli :D :D

    RispondiElimina
  7. @picchio @edmond
    Grazie tante. Ci sentiamo onorati del vostro gradimento :D

    RispondiElimina
  8. condivido , quello che scrive perscicli,la chiarezza e la semplicità di questa guida è anche il suo punto di forza::::::::::::.......... continuate cosììì::::.......

    RispondiElimina
  9. Io ribadisco!
    OTIIMO 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!!

    RispondiElimina
  10. anche se tardi complimenti per le guide bash

    RispondiElimina
  11. Sto leggendo con piacere tutti i post del Progetto Bash, soprattutto i "Botta e risposta". Andate avanti così!

    RispondiElimina