Ich habe Beispiele für Wrapper-Skripte gesehen, die kurz und bündig wie folgt lauten:
#!/bin/bash
myprog=sleep
echo "This is the wrapper script, it will exec "$myprog""
exec "$myprog" "$@"
Wie oben zu sehen, exec
ersetzen sie die neu erstellte Shell fast sofort durch die $myprog
. Man könnte dasselbe erreichen, ohne exec
:
#!/bin/bash
myprog=sleep
echo "This is the wrapper script, it will exec "$myprog""
"$myprog" "$@"
In diesem letzten Beispiel wird eine neue Bash-Instanz gestartet und dann $myprog
als untergeordneter Prozess der Bash-Instanz gestartet.
Was sind die Vorteile des ersten Ansatzes?
exec
eingebaute Shell .