User Tools

Site Tools


docs:dollarstern

$* und $@ - Shell Uebergabeparameter

Um in einem Shell-Script oder einer Shell-Funktion deren Uebergabeparameter zu erhalten, gibt es die Variablen $* und *@ . Diese verhalten sich verschieden. Zusaetzlich variiert das Verhalten je nach Quoting.

Oft findet man die Verwendung von $* obwohl dies bei Paramtern mit Leerzeichen Fehler erzeugt.

Tatsaechlich wird man in den allermeisten Faellen “$@” (mit den ””) verwenden wollen.

Samples:

for i in "2 3 4" "5 6 7" ; do echo $i ; done
->
    2 3 4
	5 6 7

x () { for i in $* ; do  echo $i; done; }
x "2 3 4" "5 6 7"
->
	2
	3
	4
	5
	6
	7

x () { for i in "$*" ; do  echo $i; done; }
x "2 3 4" "5 6 7"
->
	2 3 4 5 6 7

x () { for i in $@ ; do  echo $i; done; }
x "2 3 4" "5 6 7"
->
	2
	3
	4
	5
	6
	7

x () { for i in "$@" ; do  echo $i; done; }
x "2 3 4" "5 6 7"
->
	2 3 4
	5 6 7
docs/dollarstern.txt · Last modified: 2016/03/15 00:12 by 91.89.129.106