$*
si espande a tutti i parametri passati a quello script di shell.
$0
=nome dello script di shell
$1
=primo argomento
$2
=secondo argomento...ecc
$#
=numero di argomenti passati a shellscript
È facile trovare la risposta da soli:man bash
→ /\$\*
:
Parametri speciali
La shell tratta in modo speciale diversi parametri. Questi parametri possono essere solo referenziati; l'assegnazione a loro non è consentita.
- Si espande ai parametri posizionali, a partire da uno. Quando l'espansione avviene tra virgolette, si espande in una singola parola con il valore di ciascun parametro separato dal primo carattere del
IFS
variabile speciale. Cioè,"$*"
equivale a"$1c$2c..."
, dovec
è il primo carattere del valore diIFS
variabile. SeIFS
non è impostato, i parametri sono separati da spazi. SeIFS
è nullo, i parametri vengono uniti senza l'interposizione di separatori.
Significa tutti gli argomenti passati allo script o alla funzione, divisi per parola.
Di solito è sbagliato e dovrebbe essere sostituito da "[email protected]"
, che separa correttamente gli argomenti.