$* erweitert sich auf alle Parameter, die an dieses Shell-Skript übergeben wurden.
$0 =Name des Shell-Skripts
$1 =erstes Argument
$2 =zweites Argument...etc
$# =Anzahl der an Shellscript übergebenen Argumente
Es ist einfach, selbst eine Antwort zu finden:man bash → /\$\* :
Spezielle Parameter
Die Shell behandelt einige Parameter speziell. Diese Parameter dürfen nur referenziert werden; eine Zuordnung zu ihnen ist nicht zulässig.
- Erweitert zu den Positionsparametern, beginnend bei eins. Wenn die Erweiterung in doppelten Anführungszeichen erfolgt, wird sie zu einem einzelnen Wort erweitert, wobei der Wert jedes Parameters durch das erste Zeichen von
IFSgetrennt wird spezielle Variable. Das heißt"$*"entspricht"$1c$2c...", wobeicist das erste Zeichen des Werts vonIFSVariable. WennIFSnicht gesetzt, werden die Parameter durch Leerzeichen getrennt. WennIFSnull ist, werden die Parameter ohne dazwischenliegende Trennzeichen verbunden.
Es bedeutet alle Argumente, die an das Skript oder die Funktion übergeben werden, getrennt nach Wörtern.
Er ist normalerweise falsch und sollte durch "[email protected]" ersetzt werden , das die Argumente richtig trennt.