29 BASH – Lanciare script con e senza parametri

1 Aprile, 2024 (09:16) | BASH, Linux | By: sargonsei

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