Em muitas perguntas do SO e tutoriais do bash, vejo que posso acessar os argumentos da linha de comando nos scripts do bash de duas maneiras:
$ ~ >cat testargs.sh
#!/bin/bash
echo "you passed me" $*
echo "you passed me" $@
O que resulta em:
$ ~> bash testargs.sh arg1 arg2
you passed me arg1 arg2
you passed me arg1 arg2
Qual é a diferença entre $*
e $@
?
Quando se deve usar o primeiro e quando se deve usar o último?
echo "something $@"
como um erro