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