ฉันได้เห็นตัวอย่างสคริปต์ wrapper ซึ่งโดยย่อมีดังต่อไปนี้:
#!/bin/bash
myprog=sleep
echo "This is the wrapper script, it will exec "$myprog""
exec "$myprog" "$@"
เท่าที่เห็นข้างต้นที่พวกเขาใช้เพื่อแทนที่เปลือกที่สร้างขึ้นใหม่เกือบจะในทันทีด้วยexec
$myprog
หนึ่งสามารถบรรลุเดียวกันโดยไม่ต้องexec
:
#!/bin/bash
myprog=sleep
echo "This is the wrapper script, it will exec "$myprog""
"$myprog" "$@"
ในตัวอย่างล่าสุดนี้อินสแตนซ์ bash ใหม่จะเริ่มขึ้นและจากนั้น$myprog
เริ่มต้นเป็นกระบวนการลูกของอินสแตนซ์ bash
ประโยชน์ของแนวทางแรกคืออะไร?
exec
builtin