আমার কাছে একটি স্ক্রিপ্ট রয়েছে 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* ]]
প্যাটার্ন মিলের জন্য আপনাকে ব্যবহার করতে হবে ।