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