Ed eccoci alla seconda "lezione" sulla shell Bash (per chi fosse interessato, questa è la prima parte)..
Uno script è una sequenza di comandi che verrà eseguita su richiesta oppure automaticamente, per crearne uno avete bisogno semplicemente di un editor di testo, che sia nano o vi o vim o gedit (o qualsiasi altro) non importa. Uno script può essere richiamato semplicemente inserendo il suo "nome" nella shell, o può essere eseguito automaticamente dal sistema secondo le nostre impostazioni (molte operazioni all'avvio sono infatti degli script eseguiti in automatico).
Vediamo un piccolo esempio:
#!/bin/bash clearè echo "Questo è il tuo primo script" echo "Benvenuto $USER"è
Provate questo piccolo script e vedrete il risultato. ;)
Molto semplicemente, questo script visualizza le due stringhe indicate da echo
, dopo aver ripulito la console (con il comando clear
). $USER
è la variabile di ambiente che contiene il nome utente con cui siamo loggati al momento. Focalizziamo la nostra attenzione sulla prima riga: #!/bin/bash
.
Questo serve a "dire" al sistema quale shell stiamo usando, ovviamente a patto che questa sia localizzata in /bin
. E' chiaro quindi che ogni script deve iniziare con questa riga!!
Può essere poi utile inserire dei commenti nel nostro script, i quali non saranno visualizzati, ma potrebbero sempre tornare utili nel caso in cui riprendiamo il codice dopo mesi dalla sua creazione. Lo script visto prima diventa semplicemente:
#!/bin/bash è # Pulisco lo schermo clear # Stampo le seguenti due righe echo "Questo è il tuo primo script" è echo "Benvenuto $USER" # $USER contiene il nome utente èè # con cui siamo loggati
Abbiamo parlato di variabili, dobbiamo dire che queste sono sempre indicate da lettere tutte maiuscole, e sono di due tipi:
printenv
;set
(che attenzione visualizza anche le funzioni attualmente in memoria).Ovviamente, locali o globali che siano, le variabili hanno anche un tipo, ovvero possono essere stringhe, numeri, array, e ovviamente possono anche essere dichiarate come costanti. In genere, la convenzione usata nella dichiarazione di una variabile è semplice:
NOMEVARIABILE="valore"
Attenzione perchè una variabile così dichiarata è disponibile solo nella shell corrente.
Caratteri speciali
èecho \$USER
non stamperà il valore della variabile di ambiente $USER
, ma esattamente la stringa $USER;echo "$USER"
stamperà il nome dell'utente connesso;echo '$USER'
stamperà a video proprio la stringa $USERAttenzione alla combinazione di questi caratteri speciali, si potrebbero ottenere effetti del tutto imprevisti!!
In uno script di shell possono ovviamente essere usati operatori aritmetici e logici, si tratta di quelli classici, comuni a molti linguaggi di programmazione. Ne trovate una esauriente lista a questo link.
Alias
Concludiamo questo articolo con due comandi molto importanti e molto usati per semplificare la vita del programmatore: alias e unalias. A cosa servono?? Semplice, un alias è una parola che "sostituisce" altre, ad esempio, il comando ls -al
riporta l'elenco di tutti i file presenti nella directory corrente, compresi i file nascosti, in una visualizzazione verticale con molte informazioni aggiuntive.
Ora, il comando:
alias lsa='ls -al'
Non fa altro che consentirci di usare il comando lsa
invece di ls -al
. Scrivendo semplicemente alias
nella console, verrà restituita la lista degli alias correnti. Possiamo infine eliminare un alias col comando unalias
, nell'esempio precedente:
unalias lsa
Alla prossima..