mercoledì 30 dicembre 2009

bash scripting - cos'è e perché (p1)

Iniziamo una mini guida sugli script bash, a cosa servono e perché dovremmo usarli?

Bash è l'acronimo di bourne again shell ed è l'interprete dei comandi che troviamo sulla maggior parte delle distribuzioni GNU/Linux, in pratica ciò che usate ogni volta che aprite il terminale ;-)
Per maggiori informazioni consultate il manuale.

Gli script invece sono dei semplici programmi che ci permettono automatizzare alcune operazioni inserendo dei dei comandi shell in sequenza per poi eseguirli al bisogno. Ovviamente abbiamo anche la possibilità di usare costrutti di selezione ed iterazione per rendere le cose ancora più interessante.

Ed ora vediamo un piccolo esempio di un semplice script:


 #! /bin/bash

# stampa a video
echo"Inserisci il tuo nome: "

# legge la risposta
read nome

# stampa un saluto
echo "Ciao $nome :-)"

exit 0

Ok, lo script è banale: chiede solo all'utente di inserire il suo nome e poi lo saluta stampando ancora il nome, però ci permette di osservare alcuni degli elementi basilari di uno script bash!
Quindi osserviamoli:
  • #! /bin/bash -> è l'interprete del nostro script, in questo caso abbiamo scelto bash, ma potrebbe essere anche il semplice sh o qualsiasi altro tipo di shell.
  •  commenti -> sono tutte quelle linee che iniziano con il carattere #. Questi servono soltanto per noi, come breve spiegazione di quello che avverrà nel nostro codice. L'interprete li salta semplicemente al momento dell'esecuzione, ma nonostante questo il consiglio è di utilizzarli SEMPRE!
  • echo -> è un comando che prende una stringa e la visualizza sull'output standard (il video). Una stringa è una serie di caratteri alfanumerici, è racchiusa tra le virgolette " ".
  • read -> è un comando che legge i caratteri che l'utente scrive sullo schermo fino alla pressione del tasto Invio. Poi prende tutto e lo mette in una variabile, nel nostro caso in nome
  • variabili -> una variabile in parole povere è un modo con cui si identifica un dato all'interno di un programma attraverso un nome. Il dato durante l'esecuzione può cambiare.
    In bash, a differenza di altri programmi, le variabili non sono tipizzate, quindi la stessa variabile durante l'esecuzione può arrivare a contenere stringhe, numeri, output di comandi, ecc. Importante notare anche che quando volgiamo riferirci ad una variabile per utilizzare il dato che contiene dobbiamo anteporre il simbolo $ al suo nome.
  •  exit -> è un comando per definire il valore d'uscita dello script. Se questo è 0 significa che lo script ha terminato la sua esecuzione in modo corretto. Tutti gli altri valori possono essere usati per identificare la presenza di un errore. Utilizzare exit può essere importante per quando useremo lo script in seguito.
Creazione dello script

Per creare uno script ci basta un editor di testo (come gedit, kate, emacs, ecc), scrivere le nostre istruzioni e salvarlo, possibilmente con un nome significativo.
Una volta fatto questo ci basterà dare allo script i permessi di esecuzione:

chmod +x nome_del_nostro_script

ed eseguirlo quando volgiamo

./nome_del_nostro_script

Con questo finisce la prima parte della nostra mini-guida.

Nessun commento:

Posta un commento