Shell script, ovvero come programmare con la shell

Descriviamo le modalità per scrivere “shell script”, cioè testi contenenti comandi della shell che diventano a loro volta comandi eseguibili. La “bash shell” e un interprete di linguaggio di comandi di nome bash, che si trova nella directory “/bin”. Il suo “path name” e quindi in “/bin/bash”. La shell assegna all’ utente una directory personale di lavoro detta “home directory”.

Al momento della connessione di un utente la shell legge, se esiste, il file che contiene le definizioni di parametri globali per il sistema operativo, e di parametri per la configurazione del ambiente di lavoro validi per tutti gli utenti(/etc/profile). L’ utente stesso può poi definire ulteriori parametri di personalizzazione del proprio ambiente di lavoro nel file “.bash_profile”, che si trova al interno della home directory del utente e che contiene i valori di inizializzazione e i programmi che l’utente intende far avviare a ogni connessione. Si usa il “kate”(e un programma che ha l’editor e una finestra che ci da la possibilità di lanciare la shell). All’interno dell’editor devo scrivere alcuni comandi, ad esempio: il comando per visualizzare chi è collegato “who”, scrivere il commando per vedere il calendario del mese corrente “cal”, poi salvarlo con il nome”prova”, dalla shell lanciare il programma “prova”, si deve scrivere cosi “bash prova” perché non e un programma ma un testo quindi c’è bisogno di scrivere “bash”. Andiamo a vedere i permessi del file, dobbiamo rendere il file eseguibile se no non si può continuare, quindi usiamo il chmod: chmod a+x prova.

Occore anche aggiungere una nuova riga all’ inizio del file contente lo script “#!/bin/bash”.

Questa deve essere obbligatoriamente la prima riga dello script, che indica alla shell il nome dell’ interprete di comandi che si vuole utilizzare.

Per eseguire lo script, la directory corrente, indicata con il punto (directory./) deve essere aggiunta nella definizione della variabile PATH nel file di configurazione iniziale”.bash_profile”. L’aggiunta della directory corrente nella ricerca dei percorsi puo essere fatta direttamente dalla linea dei comandi nel seguente modo:

export PATH=”$PATH:.”

Il comando “export” stabilisce i valori per le variabili che vengono esportate, in modo da renderle visibili ai programi eseguiti successivamente all’interno della shell. L’utente ha in pratica creato un comando di nome “prova” che puo essere invocato per la sua esecuzione come accade per i comandi predefiniti (built-in) della shell. In sostanza è stato ampliato l’insieme dei comandi che l’interprete è in grado di riconoscere.

Nell’ esempio al posto di “call 2009” abbiamo inserito una varibile ($1) che funziona da parametro (si chiama variabile posizionale) e che verrà sostituita dal valore fornito dall’ utente come argomento del comando. Esempio: ”calendario 2009”

E possibile utilizare una specie di debug per gli script lanciando dall’esecuzione con il comando “bash -v nomescript”.

v” sta per “verbose”e una specie di debug.

Questo il nostro risultato con tutti i comandi da eseguire:

bash -v provacomandi (controllo che non ci siano errori richiamando l’editor)

#!/bin/bash (notare la presenza della riga obbligatoria)

who (il comando con sotto il risultato)

quartac tty7 2009-04-28 08:13 (:0)

quartac pts/0 2009-04-28 08:31 (:0.0)

ls

Documenti Immagini Musica provacomandi Pubblici Video

Examples Modelli new file~ provatest Scrivania

cal

aprile 2009

lu ma me gi ve sa do

1 2 3 4 5

6 7 8 9 10 11 12

13 14 15 16 17 18 19

20 21 22 23 24 25 26

27 28 29 30

Ora operiamo:

chmod a+x provacomandi (aggiungo i permessi, fare ls-l per controllare la corretta esecuzione)

export PATH=”$PATH:.” (aggiungo il comando alla bash)

provacomandi (richiamo i lcomando e….)

quartac tty7 2009-04-28 08:13 (:0) (vedo il risultato)

quartac pts/0 2009-04-28 08:31 (:0.0)

Documenti Immagini Musica provacomandi Pubblici Video

Examples Modelli new file~ provatest Scrivania

aprile 2009

lu ma me gi ve sa do

1 2 3 4 5

6 7 8 9 10 11 12

13 14 15 16 17 18 19

20 21 22 23 24 25 26

27 28 29 30

(il comando sarà sempre visibile, se abbiamo fatto le operazioni come amministratori (sudo), si consiglia di salvare i propri file in una cartella diversa da quella base)

Descriviamo le modalità per scrivere “shell script”, cioè testi contenenti comandi della shell che diventano a loro volta comandi eseguibili. La “bash shell” e un interprete di linguaggio di comandi di nome bash, che si trova nella directory “/bin”. Il suo “path name” e quindi in “/bin/bash”. La shell assegna all’ utente una directory personale di lavoro detta “home directory”.

Al momento della connessione di un utente la shell legge, se esiste, il file che contiene le definizioni di parametri globali per il sistema operativo, e di parametri per la configurazione del ambiente di lavoro validi per tutti gli utenti(/etc/profile). L’ utente stesso può poi definire ulteriori parametri di personalizzazione del proprio ambiente di lavoro nel file “.bash_profile”, che si trova al interno della home directory del utente e che contiene i valori di inizializzazione e i programmi che l’utente intende far avviare a ogni connessione. Si usa il “kate”(e un programma che ha l’editor e una finestra che ci da la possibilità di lanciare la shell). All’interno dell’editor devo scrivere alcuni comandi, ad esempio: il comando per visualizzare chi è collegato “who”, scrivere il commando per vedere il calendario del mese corrente “cal”, poi salvarlo con il nome”prova”, dalla shell lanciare il programma “prova”, si deve scrivere cosi “bash prova” perché non e un programma ma un testo quindi c’è bisogno di scrivere “bash”. Andiamo a vedere i permessi del file, dobbiamo rendere il file eseguibile se no non si può continuare, quindi usiamo il chmod: chmod a+x prova.

Occore anche aggiungere una nuova riga all’ inizio del file contente lo script “#!/bin/bash”.

Questa deve essere obbligatoriamente la prima riga dello script, che indica alla shell il nome dell’ interprete di comandi che si vuole utilizzare.

Per eseguire lo script, la directory corrente, indicata con il punto (directory./) deve essere aggiunta nella definizione della variabile PATH nel file di configurazione iniziale”.bash_profile”. L’aggiunta della directory corrente nella ricerca dei percorsi puo essere fatta direttamente dalla linea dei comandi nel seguente modo:

export PATH=”$PATH:.”

Il comando “export” stabilisce i valori per le variabili che vengono esportate, in modo da renderle visibili ai programi eseguiti successivamente all’interno della shell. L’utente ha in pratica creato un comando di nome “prova” che puo essere invocato per la sua esecuzione come accade per i comandi predefiniti (built-in) della shell. In sostanza è stato ampliato l’insieme dei comandi che l’interprete è in grado di riconoscere.

Nell’ esempio al posto di “call 2009” abbiamo inserito una varibile ($1) che funziona da parametro (si chiama variabile posizionale) e che verrà sostituita dal valore fornito dall’ utente come argomento del comando. Esempio: ”calendario 2009”

E possibile utilizare una specie di debug per gli script lanciando dall’esecuzione con il comando “bash -v nomescript”.

v” sta per “verbose”e una specie di debug.

Questo il nostro risultato con tutti i comandi da eseguire:

bash -v provacomandi (controllo che non ci siano errori richiamando l’editor)

#!/bin/bash (notare la presenza della riga obbligatoria)

who (il comando con sotto il risultato)

quartac tty7 2009-04-28 08:13 (:0)

quartac pts/0 2009-04-28 08:31 (:0.0)

ls

Documenti Immagini Musica provacomandi Pubblici Video

Examples Modelli new file~ provatest Scrivania

cal

aprile 2009

lu ma me gi ve sa do

1 2 3 4 5

6 7 8 9 10 11 12

13 14 15 16 17 18 19

20 21 22 23 24 25 26

27 28 29 30

Ora operiamo:

chmod a+x provacomandi (aggiungo i permessi, fare ls-l per controllare la corretta esecuzione)

export PATH=”$PATH:.” (aggiungo il comando alla bash)

provacomandi (richiamo i lcomando e….)

quartac tty7 2009-04-28 08:13 (:0) (vedo il risultato)

quartac pts/0 2009-04-28 08:31 (:0.0)

Documenti Immagini Musica provacomandi Pubblici Video

Examples Modelli new file~ provatest Scrivania

aprile 2009

lu ma me gi ve sa do

1 2 3 4 5

6 7 8 9 10 11 12

13 14 15 16 17 18 19

20 21 22 23 24 25 26

27 28 29 30

(il comando sarà sempre visibile, se abbiamo fatto le operazioni come amministratori (sudo), si consiglia di salvare i propri file in una cartella diversa da quella base)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *