29 BASH – Lanciare script con e senza parametri
29 BASH – Lanciare script con e senza parametri
Esiste più d’un modo per fornire dati da elaborare ad uno script BASH; in questa sezione di appunti, si esaminerà la possibilità di fornire dati sotto forma di parametri
In gergo informatico, l’avvio di uno script, è detto “Lancio”. Al momento del lancio, è possibile fornire uno o più parametri da elaborare; i parametri sono stringhe alfanumeriche scritte dopo il nome dello script, e separati mediante spazi. I parametri forniti al lancio verranno messi all’interno di variabili chiamate col simbolo $ seguito da un numero; la variabile $0 conterrà sempre il nome dello script, la variabile $1 conterrà sempre il primo parametro scritto dopo il nome dello script al momento del lancio; la variabile $2 conterrà sempre il secondo parametro scritto dopo il nome dello script al momento del lancio, e così via fino alla variabile $9 contenente il nono parametro scritto dopo il nome dello script BASH e separato dal nome e dagli altri parametri tramite uno spazio. Se si ha l’esigenza di passare più di 9 parametri, fal decimo parametro in poi il numero dovrà essere contenuto fra parentesi graffe, così ${10} conterrà il decimo parametro, ${11} conterrà l’undicesimo parametro, e così via.
29.1 BASH – Lanciare uno script fornendo i parametri all’interno dello script stesso
Il metodo più semplice per fornire ad uno script i dati da elaborare, è scriverli nello script stesso.
Il nome dello script è sempre contenuto nella variabile $0.
#!/bin/bash : || { BASH - Lanciare script Per avviare questo script BASH chiamato [parametro0.txt] aprire un terminale nella cartella in cui si trova questo script ed impartire il comando ./parametro0.txt parametro } A0=$0 # Nome dello script A1="Primo parametro fornito nel listato dello script BASH" A2="secondo parametro fornito nel listato dello script BASH" echo "Hai fornito i parametri" echo $A1 echo $A2 echo "allo script il cui nome è $A0" exit 0
29.2 BASH – Lanciare uno script fornendo dei parametri posizionali
I dati da elaborare, possono essere forniti allo script BASH anche sotto forma di parametri fornito al momento del “lancio”.
#!/bin/bash : || { BASH - Avviare script passando un parametro Per avviare questo script BASH chiamato [parametro1.txt] aprire un terminale nella cartella in cui si trova questo script ed impartire il comando ./parametro1.txt parametro1 parametro2 } A0=$0 # Nome dello script A1="Primo parametro fornito nel listato dello script BASH" A2="secondo parametro fornito nel listato dello script BASH" echo "Hai fornito i parametri" echo $A1 echo $A2 echo "allo script il cui nome è $A0" A1=$1; A2=$2 echo "All'avvio dello script hai passato i parametri $A1" echo "e $A2" exit 0