La bash shell, come già discusso altre volte, ci permette di poter gestire il nostro sistema GNU/Linux preferito. Eppure, non si è fatto altro che utilizzare una parte delle proprie risorse. Nella vita di ogni buon linuxiano, infatti, arriva il momento in cui si desidera scoprire l’intero potenziale della shell.
Per questo motivo, si inizia a scrivere script di shell. Le motivazioni possono essere molteplici dovute ad esigenze differenti: curiosità, necessità, lavoro, messaggi subliminali arrivati direttamente dal kernel e simili.
A differenza di quanto si possa credere, imparare a scrivere degli script è tutt’altro che difficile. Come per ogni nuova cosa da imparare, con un pizzico di impegno si potranno raggiungere dei risultati eccezionali. Uno script di bash non è altro che una lista di comandi da eseguire, salvati in un file con estensione sh. La sintassi da imparare è molto semplice e le regole utilizzate sono poche e ben definite. L’argomento è decisamente vasto, e in rete si possono trovano centinaia e centinaia di guide scritte da svariati autori su questo linguaggio di scripting. In questo articolo, verrà mostrato che bastano davvero pochi preziosi minuti per poter imparare i comandi essenziali ed iniziare subito ad entrare in questo mondo.
PRIMA DI INIZIARE
Per scrivere uno script di shell, basta un qualsiasi editor di testo. Che sia esso Gedit, Kate, Vi, Emacs od altro, non ha importanza. L’unica cosa essenziale è la voglia di imparare. Buon divertimento!
QUATTRO REGOLE FONDAMENTALI
Per ogni script che scriverete, ricordatevi che dovete tenere a mente quattro semplici ed indispensabili regole:
I - Tutti gli script iniziano con la seguente riga:
#!/bin/bash
In questo modo si identifica che il file è uno script ed utilizza la shell bash.
II - L’estensione degli script è .sh
Ogni volta che salvate lo script appena creato, ricordatevi che deve avere come estensione sh.
III - Uno script, per funzionare, deve essere reso eseguibile
Una volta salvato lo script, per renderlo eseguibile dovrete dare il seguente comando:
chmod +x nome_del_tuo_script.sh
IV - Avviare lo script attraverso ./
Per poter avviare uno script, da terminale, dovrete procedere come segue:
./nome_del_tuo_script.sh
LE VARIABILI COMUNI
Le variabili che verranno elencate di seguito, indicano delle costanti che vi permettono di ottenere immediatamente determinate operazioni.
$BASH
Indica il percorso dell’eseguibile Bash.
$HOME
Indica la directory Home dell’utente.
$HOSTNAME
Indica il nome dell’host.
$OSTYPE
Indica il nome del sistema operativo in uso.
$PATH
Indica il percorso dell’eseguibile.
$PS1
Indica il primo prompt dei comandi.
Nota: PS1 è settato di default su “$” mentre, se utilizzate PS2, sarà settato su “>”.
$PWD
Indica la cartella di lavoro corrente.
$USER
Indica l’utente loggato nel sistema.
LE ISTRUZIONI DI COTROLLO
L’istruzione IF
L’IF è l’istruzione più semplice che si può trovare.
Corrisponde alla classica condizione:
SE proposizione
ALLORA
agisci in questo modo
ALTRIMENTI
agisci in quest’altro modo
Sintassi:
if la condizione è vera
then
esegui comando
else
esegui comando
fi
Se si avesse bisogno di più condizioni annidate, la sintassi sarebbe:
if la condizione è vera
then
esegui comando
elif altra condizione vera
then
esegui comando
else
esegui comando
fi
Nota: ricordatevi sempre di “chiudere” l’if mettendo alla fine il corrispettivo fi, altrimenti il sistema vi darà errore!
Esempio:
if ((Voto>=18))
then
echo "Promosso!"
else
echo "Mi spiace…Bocciato!"
fi
La prima parte di questa guida è giunta a conclusione. Nella prossima puntata, finiremo di vedere le istruzioni di controllo ed i caratteri speciali. Non perdetevela!
di Gianfranco Limardo - TuxJournal.net