Nella pianificazione della guide e degli articoli utili per ogni utente Linux, noi del LUG, abbiamo ritenuto opportuno prestare attenzione sull’utilizzo della shell e l’utilità dello scripting bash. Ecco perché, in questa serie di articoli, presenteremo i vari comandi per l’aggiornamento del sistema, gestione del filesystem, gestione dei processi, automatizzeremo poi i comandi tramite gli script, analizzeremo quindi i fondamenti dello scripting, vedremo come eseguirli e molto altri ancora!

Cosa è una shell bash?

La bash è probabilmente l’interprete di comandi più diffuso in ambiente UNIX; è presente su tutte le versioni unix e su tutte le versioni open source Gnu/Linux, FreeBSD, NetBSD, OpenBSD, ecc. La shell Bash (il cui acronimo è “Bourne Again Shell”) nasce come evoluzione della “Bourne Shell” (sh) e rappresenta un sovra-insieme di comandi della Bourne Shell.

Ma cosa è una shell? Una shell dei comandi del sistema operativo, sono dei comandi eseguiti da ciascun utente del sistema operativo o possono essere chiamati da altri programmi. La shell dei comandi è stata principalmente progettata per consentire l’interazione fra utente e sistema operativo. Nell’atto pratico è quindi un programma consistente in una finestra (chiamata anche terminale) che permette di interagire con il sistema operativo.

Un esempio di terminale è il seguente:

Il tipo di interazione fra sistema operativo e utente tramite shell viene chiamata modalità alfanumerica o in gergo “a linea di comando”. In alternativa ad una shell che opera in modalità alfanumerica l’interazione avviene tramite una interfaccia grafica chiamata GUI (Graphical User Interface) che consente all’utente di interagire con il sistema tramite delle componenti grafiche che contribuiscono a semplificarne e a velocizzarne l’utilizzo.

Scripting bash

La shell bash, oltre che un interprete di comandi è in realtà un vero e proprio linguaggio di programmazione che consente di creare dei programmi chiamati script. Lo scripting bash consiste quindi nella creazione di programmi per la shell bash: dall’automatizzazione di singoli comandi (perfino all’avvio del sistema) alla manipolazione del sistema stesso.

Un piccolo script di esempio che aggiorna il sistema Ubuntu:

Abbiamo quindi fatto un piccola introduzione concettuale su ciò di cui tratteremo. Nel prossimo articoli introdurremo la differenza fra bash (Bourne Again Shell) e sh (Bourne Shell) in termini di scripting, alcuni fondamenti dello scripting e come eseguire uno script.

Autore: Leonardo Picchiami