У меня есть скрипт, launch.sh
который выполняется как другой пользователь, чтобы создавать файлы с правильным владельцем. Я хочу передать -x на этот вызов, если он был первоначально передан в сценарий
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
Я прочитал страницу отладки bash, но, похоже, нет четкой опции, которая сообщала бы, был ли запущен оригинальный скрипт -x
.
[[ $- == *x* ]]
для сопоставления с образцом.