Ich habe ein Skript launch.sh
, das sich selbst als ein anderer Benutzer ausführt, um Dateien mit dem richtigen Eigentümer zu erstellen. Ich möchte -x an diesen Aufruf übergeben, wenn er ursprünglich an das Skript übergeben wurde
if [ `whoami` == "deployuser" ]; then
... bunch of commands that need files to be created as deployuser
else
echo "Respawning myself as the deployment user... #Inception"
echo "Called with: <$BASH_ARGV>, <$BASH_EXECUTION_STRING>, <$->"
sudo -u deployuser -H bash $0 "$@" # How to pass -x here if it was passed to the script initially?
fi
Ich habe die Bash-Debugging-Seite gelesen, aber es scheint keine eindeutige Option zu geben, die angibt, ob das ursprüngliche Skript mit gestartet wurde -x
.
[[ $- == *x* ]]
für den Mustervergleich verwenden.