Birçok SO sorusu ve bash öğreticisinde bash komut dosyalarındaki komut satırı argümanlarına iki şekilde erişebildiğimi görüyorum:
$ ~ >cat testargs.sh
#!/bin/bash
echo "you passed me" $*
echo "you passed me" $@
Sonuç:
$ ~> bash testargs.sh arg1 arg2
you passed me arg1 arg2
you passed me arg1 arg2
Arasındaki fark nedir $*
ve $@
?
İlki ne zaman kullanılmalı, ne zaman ikincisi kullanılmalıdır?
echo "something $@"
bir hata gibi davranır