ฉันมี bash สองสคริปต์ต่อไปนี้
เถ้า:
#!/bin/bash
./b.sh 'My Argument'
b.sh:
#!/bin/bash
someApp $*
ไบนารี someApp รับ$*เป็น 2 อาร์กิวเมนต์ ('My' และ 'Argument') แทนที่จะเป็น 1
ฉันได้ทดสอบหลายสิ่ง:
- การเรียกใช้ someApp ผ่านการb.shทำงานตามที่คาดไว้เท่านั้น
- ทำซ้ำ + สะท้อนอาร์กิวเมนต์ในการb.shทำงานตามที่คาดไว้
- การใช้$@แทน$*ไม่ได้สร้างความแตกต่าง
someApp "$*"หรือsomeApp "$@"