मेरे पास एक स्क्रिप्ट है 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
मैंने बैश डिबगिंग पेज पढ़ा है लेकिन ऐसा कोई स्पष्ट विकल्प नहीं है जो बताता है कि मूल स्क्रिप्ट के साथ लॉन्च किया गया था -x
।
[[ $- == *x* ]]
पैटर्न मिलान के लिए उपयोग करना होगा ।