ในหลาย ๆ คำถามและแบบฝึกหัด bash ฉันเห็นว่าฉันสามารถเข้าถึง args บรรทัดคำสั่งในสคริปต์ทุบตีได้สองวิธี:
$ ~ >cat testargs.sh
#!/bin/bash
echo "you passed me" $*
echo "you passed me" $@
ซึ่งผลลัพธ์ใน:
$ ~> bash testargs.sh arg1 arg2
you passed me arg1 arg2
you passed me arg1 arg2
ความแตกต่างระหว่าง$*
และ$@
คืออะไร?
เมื่อใดจึงควรใช้อดีตและเมื่อใดจะใช้ภายหลัง
echo "something $@"
เป็นข้อผิดพลาด