Dans de nombreuses questions SO et didacticiels bash, je constate que je peux accéder aux arguments de ligne de commande dans les scripts bash de deux manières:
$ ~ >cat testargs.sh
#!/bin/bash
echo "you passed me" $*
echo "you passed me" $@
Ce qui se traduit par:
$ ~> bash testargs.sh arg1 arg2
you passed me arg1 arg2
you passed me arg1 arg2
Quelle est la difference entre $*
et $@
?
Quand faut-il utiliser la première et quand doit-on utiliser la seconde?
echo "something $@"
comme une erreur