$*
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
IFS
getrennt wird spezielle Variable. Das heißt"$*"
entspricht"$1c$2c..."
, wobeic
ist das erste Zeichen des Werts vonIFS
Variable. WennIFS
nicht gesetzt, werden die Parameter durch Leerzeichen getrennt. WennIFS
null 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.