2015-03-25 22 views
38

Spesso mi imbatto in $? $0 $1 $2 etc.... shell scripting, quello che so è che $? ritorna lo stato di uscita dell'ultimo comando

echo "this will return 0" 
echo $? 

ma che cosa fanno gli altri? come si chiamano e c'è di più? forse come $ 3 $ 4 $ 5 ...

+1

http://tldp.org/LDP/abs/html/othertypesv.html –

risposta

81

Questi sono argomenti posizionali della sceneggiatura.

Esecuzione

./script.sh Hello World 

Farà

$0 = script.sh 
$1 = Hello 
$2 = World 
16

Essi sono chiamati il ​​Positional Parameters.

3.4.1 Parametri posizionali

Un parametro posizionale è un parametro indicato da una o più cifre, diverse dalla singola cifra 0. I parametri posizionali sono assegnati dagli argomenti della shell quando viene richiamato e può essere riassegnato utilizzando il comando incorporato set. Il parametro posizionale N può essere referenziato come $ {N}, o come $ N quando N è costituito da una singola cifra. I parametri posizionali non possono essere assegnati con istruzioni di assegnazione. I builtin set e shift vengono utilizzati per impostarli e annullarli (vedere Shell Builtin Commands). I parametri posizionali vengono temporaneamente sostituiti quando viene eseguita una funzione di shell (vedere Funzioni della shell).

Quando un parametro posizionale costituito da più di una cifra viene espanso, deve essere racchiuso tra parentesi graffe.

+0

'$' è un parametro speciale che sono spiegati qui:? Https://www.gnu.org/software/bash/ manuale/bash.html # Special-Parametri –

Problemi correlati