Un parametro è un'entità che memorizza i valori. Può essere un nome, un numero o alcuni caratteri speciali. Una variabile è un parametro indicato da un nome. Alcune variabili sono già impostate per te e alla maggior parte di queste non possono essere assegnati valori.
Queste variabili contengono informazioni utili, che possono essere utilizzate da uno script di shell per conoscere l'ambiente in cui è in esecuzione.
Bash fornisce due tipi di parametri.
- Parametro posizionale
- Parametro speciale
In questo articolo, discutiamo del parametro posizionale bash con gli esempi.
Questo articolo fa parte della nostra serie di tutorial bash in corso.
Esempio 1:parametro posizionale Bash – $0, $1, $2 ..
I parametri posizionali sono gli argomenti forniti ai tuoi script quando viene invocato. Potrebbe essere compreso tra $ 1 e $ N. Quando N è composto da più di una singola cifra, deve essere racchiuso tra parentesi graffe come ${N}.
La variabile $0 è il nome di base del programma come è stato chiamato.
L'esempio seguente ottiene due argomenti e fornisce il risultato di operazioni aritmetiche tra questi due numeri interi.
Innanzitutto, crea lo script della shell arithmetic.sh come mostrato di seguito.
$ cat arithmetic.sh #!/bin/bash echo -e "\$1=$1" echo -e "\$2=$2" let add=$1+$2 let sub=$1-$2 let mul=$1*$2 let div=$1/$2 echo -e "Addition=$add\nSubtraction=$sub\nMultiplication=$mul\nDivision=$div\n"
Quindi, esegui arithmetic.sh con i parametri appropriati come mostrato di seguito.
$ ./arithmetic.sh 12 10 $1=12 $2=10 Addition=22 Subtraction=2 Multiplication=120 Division=1
Nell'output precedente $1 ha il valore 12 e $2 ha 10.
La funzione "let" incorporata nella shell consente di eseguire operazioni aritmetiche sulle variabili della shell. Lo script precedente esegue le operazioni aritmetiche come addizione, sottrazione, moltiplicazione e divisione sui parametri indicati.
Esempio 2:imposta/disattiva i parametri posizionali di Bash
Il comando set integrato viene utilizzato per impostare e annullare l'impostazione del parametro posizionale.
Innanzitutto, crea lo script della shell positional.sh come mostrato di seguito.
$ cat positional.sh #!/bin/bash # From command line echo -e "Basename=$0" echo -e "\$1=$1" echo -e "\$2=$2" echo -e "\$3=$3" # From Set builtin set First Second Third echo -e "\$1=$1" echo -e "\$2=$2" echo -e "\$3=$3" # Store positional parameters with -(hyphen) set - -f -s -t echo -e "\$1=$1" echo -e "\$2=$2" echo -e "\$3=$3" # Unset positional parameter set -- echo -e "\$1=$1" echo -e "\$2=$2" echo -e "\$3=$3"
Lo script precedente stampa prima gli argomenti della riga di comando, quindi il comando set imposta il parametro posizionale in modo esplicito. Impostato con – si riferisce alla fine delle opzioni, tutti i seguenti argomenti sono parametri posizionali anche se possono iniziare con '-'. Imposta con '–' senza altri argomenti annulla l'impostazione di tutti i parametri posizionali.
Quindi, esegui positional.sh come mostrato di seguito.
$ ./positional.sh Basename=t.sh $1=12 $2=10 $3= $1=First $2=Second $3=Third $1=-f $2=-s $3=-t $1= $2= $3=
Nel prossimo articolo, discutiamo dei parametri speciali di bash con esempi.