$* 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
IFSvariabile speciale. Cioè,"$*"equivale a"$1c$2c...", dovecè il primo carattere del valore diIFSvariabile. SeIFSnon è 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 "example@unixlinux.online" , che separa correttamente gli argomenti.