Es besteht die Notwendigkeit, ein Skript mit mehreren Parametern zu füttern. Diese Parameter enthalten ggf. Leerzeichen. Damit werden sie ggf. als eigener Parameter verarbeitet.
Der Unterschied besteht in der Verwendung von $* oder $@.
for i in "$*" do echo "parameter: $i" done
Beim Aufruf von script 1 ‘2 3 4’ 5 erfolgt folgende Ausgabe:
parameter: 1 parameter: 2 parameter: 3 parameter: 4 parameter: 5
Anders verhält es sich bei $@:
for i in "$*" do echo "parameter: $i" done
Die Ausgabe beim gleichen Befehl ist
parameter: 1 parameter: 2 3 4 parameter: 5