J'ai un script launch.sh
qui s'exécute en tant qu'autre utilisateur afin de créer des fichiers avec le bon propriétaire. Je veux passer -x à cette invocation si elle a été initialement transmise au script
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
J'ai lu la page de débogage bash mais il ne semble pas y avoir d'option claire qui indique si le script d'origine a été lancé avec -x
.
[[ $- == *x* ]]
pour la correspondance de motifs.