Impariamo ad utilizzare gli Script Bash per fare molto con un click
Disponibile un approfondimento sugli Script Bash, trattato in maniera semplice e pratica. Uno script è un file di testo, contenente dei comandi e salvato con estensione .sh. Se lanciato, tutti i comandi, in esso contenuti, verranno eseguiti automaticamente da Ubuntu. Vedremo cosa è uno script, come crearlo, modificarlo, lanciarlo ...
Uno Script Bash è un file di testo, contenente dei comandi e salvato con estensione .sh. Se lanciato, tutti i comandi, in esso contenuti, verranno eseguiti automaticamente da Ubuntu. Uno Script può essere semplice ma anche molto complesso, dipende da quello che intendiamo realizzare. Vedremo cosa è uno script, come crearlo, modificarlo, lanciarlo ...
Il Terminale
In Ubuntu molte azioni le compiamo tramite finestre grafiche. In effetti per compiere tali azioni possiamo usare anche il Terminale e molti lo preferiscono. Ecco una piccola guida sul Terminale di Ubuntu:
Il Terminale di Ubuntu iniziamo ad usarlo
http://www.istitutomajorana.it/index.php?option=com_content&task=view&id=396&Itemid=33
Il Terminale, chiamato anche console, shell, command line, linea di comando, ecc..., e' un'applicazione che permette di interagire direttamente col Sistema Operativo (Come la finestra DOS di Windows). Si tratta di uno strumento potente disponibile in Linux (Ubuntu) col quale possiamo fare tantissimo grazie a dei comandi: installare e disinstallare software; creare, spostare o cancellare cartelle e file; manipolare file di configurazione; tantissime altre azioni, dalle più semplici alle più complesse.
Nel Terminale è possibile digitare o incollare una riga di comando per volta, anche se breve e semplice o lunga e complessa.
Script Bash come usarli
http://www.istitutomajorana.it/immagini2/script-bash.jpg
Lo Script Bash
Se apriamo un editore di testi, ad esempio Gedit (che è il corrispondente del Blocco note di Windows) e vi incolliamo i comandi utilizzati per il Terminale e poi lo salviamo (dopo avere rispettato delle semplicissime regole), otterremo uno Script che è, quindi, un file contenente dei comandi. Lanciando lo Script verranno eseguiti automaticamente da Ubuntu, tutti i comandi che contiene. In questo modo non avremo più la limitazione del Terminale che imponeva una sola riga di comando per volta. Uno Script può essere semplice ma anche molto complesso, dipende da quello che intendiamo realizzare. Mi limiterò alla realizzazione di semplici Script che possono, comunque compiere importanti e lunghe azioni.
Creare uno Script Bash
Da Ubuntu apriamo l'editor di testi Gedit (Applicazioni / Accessori / Editor di testi), in esso incolliamo la prima riga:
#!/bin/bash
che è indispensabile in quanto indica al sistema la presenza di istruzioni nel file che vanno elaborate dalla shell (Terminale).
Seguiranno le righe con tutti i comandi ed in ultimo è opportuno chiudere lo script col comando:
exit
che è la maniera corretta per uscire da uno script.
Ecco un semplice esempio di script:
#!/bin/bash
# Questo script installa le tre applicazioni audacity amsn e amule
sudo apt-get install audacity -y
sudo apt-get install amsn -y
sudo apt-get install amule -y
exit
Ultimata la scrittura ci basta salvare il file con un nome qualsiasi e con l'estensione.sh, ad esempio: installazione.sh
Vediamo cosa abbiamo fatto:
#!/bin/bash
Si tratta della riga di apertura dello Script che è obbligatoria.
# Questo script installa le tre applicazioni audacity amsn e amule
Questa è una riga di commento, ossia una spiegazione di quanto farà lo script. Qualunque riga (tranne la prima) se scritta dopo il simbolo # non ha nessuna rilevanza e non costituirà un comando. Possiamo anche non inserire commenti, ma essi servono a meglio capire a cosa serve lo script stesso.
sudo apt-get install audacity -y
Si tratta del comando che installa il software audacity (editore audio). Il comando, dato da terminale, sarebbe:
sudo apt-get install audacity
noi abbiamo aggiunto -y per evitare la conferma. Spieghiamo meglio. Le tre righe che iniziano con sudo apt-get install installano delle applicazioni, se non inseriamo (in coda) -y, per ogni installazione ci verrà chiesta la conferma. Se rispondiamo si (y) l'applicazione verrà installata, altrimenti verrà saltata. Invece, inserendo (in coda) -y l'applicazione verrà installata senza alcuna conferma. Entrambe le opzioni possono essere utili. Nell'esempio le tre applicazioni verranno installate automaticamente senza la richiesta di nessuna conferma conferma.
Altra cosa da dire è che le righe vuote non vengono considerate dallo script. Esse normalmente si inseriscono, tra una riga di comando e l'altra, solo per facilitare la lettura dello script. Infatti, righe di comando troppo fitte darebbero fastidio nella lettura. Le righe vuote hanno, quindi, il compito di facilitare la comprensione dello script da parte delle persone, come accade per le righe di commento, ma, entrambe, non hanno nessuna importanza ai fini dell'azione dello script.
A questo punto abbiamo lo script completo e salvato con un nome e con l'estensione.sh (nell'esempio lo abbiamo chiamato installazione.sh), ma per lanciarlo dobbiamo renderlo eseguibile.
Lanciare uno Script Bash
Facendo doppio click sullo script (installazione.sh), lo stesso verrà aperto con Gedit (editore di testi) e ne verrà, semplicemente mostrato il contenuto. Questo in quanto lo script non è stato reso eseguibile. Per renderlo eseguibile, bisogna fate click col destro sullo script (file .sh), quindi scegliete Proprietà. Si apre una finestra (figura sottostante).
Script permessi
http://www.istitutomajorana.it/immagini2/script-permessi.jpg
Click sulla linguella Permessi (cerchiata in rosso) ed in basso basta inserire una spunta nel quadratino relativo all'opzione Consentire l'esecuzione del file come programma (numero 1). Terminare con un click su Chiudi (numero 2).
Adesso lo Script è stato reso eseguibile. Se facciamo doppio click sul file .sh (nell'esempio lo script: installazione.sh), ora si aprirà la finestra sottostante:
Script eseguire o mostrare
http://www.istitutomajorana.it/immagini2/script-eseguii.png
Facendo click sul bottone Esegui nel terminale (numero 1), lo script sarà lanciato ed attuerà tutti i comandi in esso contenuti. Al lancio dello script verrà, automaticamente, aperto il terminale che si chiuderà, sempre automaticamente, alla fine dell'esecuzione dell'ultimo comando.
Modificare uno Script Bash
Se dalla figura precedente facciamo click sul bottone Mostra (numero 2), lo script verrà aperto a mezzo dell'editore di testi Gedit. Possiamo quindi modificarlo a nostro piacimento (aggiungere, eliminare righe o quello che vogliamo) ed alla fine fare click sul l'icona Salva, che si trova in alto a sinistra dell'editore di testi (Gedit). In questo modo, otterremo il nuovo script modificato.
Piccoli consigli
Una volta lanciato lo script si aprirà il terminale. Se tra i comandi contenuti nello script si trova anche sudo, vi verrà chiesta la password. Il terminale di Ubuntu, per una questione di sicurezza, quando si digita la password, non fa vedere nulla. Questo per evitare che qualcuno che si trova vicino, riesca a capire, se non altro, di quante cifre è composta la password. Quindi quando il terminale richiede la password, anche se sembra che non succede nulla, in effetti sta succedendo tutto. Ossia anche se apparentemente sembra che la password non venga recepita, in effetti Ubuntu la sta prendendo perfettamente. Pertanto dovete solo digitare tutta la password completa, con attenzione (anche se non vedete nulla) e poi dare invio da tastiera. Il terminale accetterà la password, se correttamente digitata e procederà con l'esecuzione dei comandi.
Prima di lanciare gli script, è consigliabile chiudere tutte le applicazioni aperte (programmi).
Durante l'esecuzione dello script , è consigliabile, non aprire altre applicazioni e non eseguire altri lavori.
Durante l'esecuzione dello script potrebbe esservi chiesta una conferma. Rispondete con una s (esse) e date Invio da tastiera.
Aspettate pazientemente la fine dell'esecuzione dello script che potrebbe richiedere anche molto tempo, specialmente se si installano applicazioni (numerose e/o grosse). Appena lo script avrà ultimato la sua azione, la finestra del terminale si chiuderà automaticamente.
Se uno script viene interrotto è possibile lancialo nuovamente. Rilanciando uno script non verranno reinstallati i pacchetti già precedentemente installati, ma solamente quelli che non lo erano stati.
Risorse interessanti
Per avere esempi pratici di script (già pronti, scaricabili, consultabili ed utilizzabili), si rimanda alla pagina:
Ubuntu Codec Script Font Software Altro
http://www.istitutomajorana.it/index.php?option=com_content&task=view&id=1262&Itemid=33
(in fase di realizzazione)
Per un'ottima guida, completa ed in italiano, si rimanda alla pagina:
Guida avanzata di scripting Bash
Per una guida pratica che mostra come rendere eseguibile ed avviare uno script da Terminale:
Creare script bash shell in pochi minuti
Per maggiori notizie si rimanda al link dell'approfondimento.
© Pensi che questo testo violi qualche norma sul copyright, contenga abusi di qualche tipo? Contatta il responsabile o Leggi come procedere