Eu tenho um script launch.sh
que se executa como outro usuário para criar arquivos com o proprietário correto. Eu quero passar -x para esta invocação se ela foi originalmente passada para o 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
Eu li a página de depuração do bash, mas parece não haver uma opção clara que indique se o script original foi iniciado com -x
.
[[ $- == *x* ]]
para a correspondência de padrões.