नीचे दी गई स्क्रिप्ट में - जो उपयोगकर्ता को यह पुष्टि करने के लिए प्रेरित करती है कि वे संभावित खराब स्क्रिप्ट को चलाने के साथ आगे बढ़ना चाहते हैं - जब उपयोगकर्ता Y
प्रॉम्प्ट पर प्रवेश करता है - यह case
ब्लॉक से बाहर हो जाएगा , केवल while
फिर से लूप में वापस भेजा जाएगा ।
#! /bin/bash
set -e
echo
echo "bad install start"
echo "-----------------------------------------"
while true; do
read -p "this script will probably fail - do you want to run anyway?" yn
case $yn in
[Yy]*)
##### WHAT GOES HERE?? #####
;;
[Nn]*)
exit ;;
*)
echo "answer y or n" ;;
esac
echo "script has broken out of case back into while loop"
done
echo -e "\e[33m Installing bad packagename \e[0m"
apt-get install sdfsdfdfsd
echo "rest of script - will i keep running?"
जब n
प्रवेश किया जाता है, तो स्क्रिप्ट पूरी तरह से वांछित के रूप में मौजूद होती है। मैं यह जानना चाहता हूं कि इसे कैसे बनाया जाए ताकि जब Y
प्रवेश किया जाए तो स्क्रिप्ट ब्लॉक case
और आउट ब्लॉक दोनों से बाहर हो जाए , लेकिन पूरी तरह से बाहर नहीं निकले। क्या ऐसा कुछ है जिसे मैं प्लेसहोल्डर के लिए रख सकता हूं ("क्या यहाँ जाता है ??") ऐसा करने के लिए?
$TEST=1
होना चाहिए TEST=1
, और आपकी स्क्रिप्ट इस परिवर्तन के साथ काम करने की संभावना है।
[Yn]*)
; आप शायद मतलब था[Yy]*)
।