Я бачив приклади сценарію обгортки, які в двох словах наступні:
#!/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вбудованої оболонки .