In vielen SO-Fragen und Bash-Tutorials sehe ich, dass ich auf Befehlszeilenargumente in Bash-Skripten auf zwei Arten zugreifen kann:
$ ~ >cat testargs.sh
#!/bin/bash
echo "you passed me" $*
echo "you passed me" $@
Was in ... resultiert:
$ ~> bash testargs.sh arg1 arg2
you passed me arg1 arg2
you passed me arg1 arg2
Was ist der Unterschied zwischen $*
und $@
?
Wann sollte man das erstere verwenden und wann soll man das letztere verwenden?
echo "something $@"
als Fehler behandelt