bash

  • Introduzione allo scripting in Bash

    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.

    CONTATTI DELL'AUTORE

    Leonardo Picchiami Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

    OrvietoLinux Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

     

  • Scripting Bash #1 - Creazione ed esecutione di script

    Dopo il primo articolo di introduzione generale, presentiamo una serie di articoli contenenti i rudimenti per un approccio con lo scripting bash. Per avere una visione di base generale, è necessario conoscere innanzitutto la differenza fra le varie tipologie di script, come creare ed eseguire uno script.

     

     

    Script sh e script bash

     

    Quando si parla di script, si parla di un particolare programma scritto in una classe di linguaggi di programmazione chiamati linguaggi di scripting. Dato questo insieme di script, ne analizzeremo un suo sottoinsieme: gli script di shell. Lo script di shell identifica uno script per una determinata shell di un sistema operativo, perciò non interpretabile (ed eseguibile) da altre shell di sistema simili.

     

    La shell bash, esegue ed interpreta gli script bash: nome_file.bash.Riferendoci a ciò che è stato detto in precedenza, altri tipi di shell non possono quindi interpretare questo specifico script.

     

    Esiste inoltre un altro tipo di script degno di nota, chiamato script sh: nome_file.sh.Lo script sh può essere eseguito su qualsiasi tipo di shell, sia shell bash sia shell non bash. (È importante a questo punto ricordarsi la distinzione presente nel precedente articolo fra “Bourne Again Shell” e “Bourne Shell”).

     

     

    Creare ed eseguire uno script

     

    Come primo passo, è essenziale capire come creare ed eseguire uno script in un determinato ambiente. Per creare uno script si può eseguire, da prompt, il comando:

     

    Per eseguire uno script, in una shell bash, abbiamo quattro differenti modalità:

     

    1. ./nome_file.estensione.Con l’esecuzione di questo comando viene invocata una sotto-shell che esegue uno dopo l’altro presente nello script in questione. Per utilizzare questa sintassi è necessario che il file script abbia i permessi di esecuzione (la maschera di creazione dei file di default non assegna i permessi di esecuzione). Per eseguire lo script tramite questa modalità, usualmente si eseguono i seguenti comandi:

     

     

    2. bash nome_file.estensione. Anche in questo caso, viene invocata una sotto-shell che esegue sequenzialmente i comandi presenti nello script:

     

    3. source nome_file.estensione. Con questo comando, al contrario, non viene creata una sotto-shell ma l’esecuzione avviene nella shell corrente:


     

    4. nome_file.estensione. Anche in questo caso, come nel precedente, non viene creata una sotto-shell ma lo script viene eseguito nella shell corrente:




    La puntualizzazione fra le modalità che eseguono lo script nella shell corrente o in una sotto-shell è fondamentale per l’utilizzo delle proprietà locali, come ad esempio variabili locali o funzioni, di una determinata shell nello script, ma approfondiremo tutto nei prossimi articoli.

     

    In questo secondo articolo, abbiamo prolungato la parte introduttiva con una piccola digressione sullo scripting, sulla creazione e sulle varie esecuzioni di uno script. Nel prossimo articolo introdurremo il concetto di shabang spiegando la sua importanza e il concetto di comando con la sua sintassi.

    CONTATTI DELL'AUTORE

    Leonardo Picchiami Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

    OrvietoLinux Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

  • Scripting Bash #2 - Shabang e comandi

    Continuando ad affrontare rudimenti e concetti di base per approcciare allo scripting bash, è necessario soffermarsi su due concetti fondamentali: lo shabang e il comando con la sua appropriata sintassi.

    Shabang

     

    Lo shabang è una sequenza di caratteri iniziante con #! collocato esattamente all’inizio dello script per indicare al sistema quale interprete utilizzare per l’esecuzione. Precisamente, consiste in un magic number (una stringa di testo utilizzata per delle finalità specifiche) seguito dal pathname assoluto dell’interprete da utilizzare.

     

    L’assenza dello shabang in uno script può portare spesso ad una esecuzione non corretta da parte del sistema. Questa casistica è ancora più frequente se nel file rappresentante lo script viene omessa l’estensione.

Orvieto Linux User Group Associazione di Promozione Sociale
Sede legale: Largo Tevere 4 05018 Orvieto (TR) C.F. 90012070554
Copyleft © 2005 - 2026 - Privacy Policy e Cookie Policy
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.