* Christian Schult schrieb am 26.Apr.2000:
* Bernd Brodesser wrote:
Nein, tut es nur beinah. Du bekommst in dem Moment Probleme, in dem in einem Argument ein Blank (Leerzeichen, Tabulator oder Return) auftaucht. Ist in einem Argument ein Leerzeichen, so wird daraus zwei Argumente gemacht. Oder auch mehere Argumente bei mehren Blanks. Richtig wäre an dieser Stelle übrigens "$@".
Für das aufgerufene Script (hier ip-up.local) ist nicht erkennbar, ob sein(e) Startparameter nur ein Wort mit Leerzeichen ist ($*) oder mehrere Wörter ohne Leerzeichen ($@). Die Zuweisung nach $1, $2 usw. klappt in beiden Fällen.
Und auch die Parameterübergabe mit $@ verhindert nicht, das ein Parameter, der Leerzeichen enthält, aufgesplittet wird.
Nein $@ ist das Gleiche wie $*. Aber ich habe auch "$@" geschrieben. Die " sind hier schon wichtig. "$*" ist übrigens geradezu das Gegenteil. Dann wird alles zu einem Argument. Das ist imho der einzigste Unterschied von $* und $@, aber genau darum gibt es auch ein $@, weil es sich mit " anders verhällt. Bernd -- Homepages von deutschsprachigen Linux-Gurus: Kristian Köhntopp: http://www.koehntopp.de/kris/artikel/ Sven Guckes: http://www.math.fu-berlin.de/~guckes/sven Robin S Socha: http://socha.net/index2.html |Zufallssignatur 10 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com