हालाँकि मैं मूल प्रश्न का उत्तर नहीं दे रहा हूँ, जिसमें सेशन कमांड को छुपाया गया है, कई (अगर सबसे ज्यादा नहीं) समस्याएँ जब कोई सोच सकता है " इस शाखा में मुझे कुछ नहीं करना है " तो केवल तर्क को पुनर्गठन करके बाईपास किया जा सकता है ताकि यह शाखा जीती 'होता है।
मैं ओपी उदाहरण का उपयोग करके एक सामान्य नियम देने की कोशिश करता हूं
कुछ भी न करें जब $ a "10" से अधिक हो, तो "1" प्रिंट करें यदि $ a "5" से कम है, अन्यथा, "2" प्रिंट करें
हमें एक शाखा से बचना होगा जहां $a
10 से अधिक हो जाता है, इसलिए $a < 10
एक सामान्य स्थिति के रूप में हर दूसरे पर लागू किया जा सकता है, निम्नलिखित स्थिति।
सामान्य शब्दों में, जब आप कहते हैं कि एक्स के बिना कुछ नहीं करते हैं , तो इसे rephrase के रूप में एक शाखा से बचें जहां एक्स । आमतौर पर आप एक्स को नकारने और अन्य सभी स्थितियों में इसे लागू करने से बचा सकते हैं।
इसलिए लागू नियम के साथ ओपी उदाहरण का पुनर्गठन किया जा सकता है:
if [ "$a" -lt 10 ] && [ "$a" -le 5 ]
then
echo "1"
elif [ "$a" -lt 10 ]
then
echo "2"
fi
ऊपर की बस एक बदलाव, इस $a < 10
हालत में सब कुछ संलग्न :
if [ "$a" -lt 10 ]
then
if [ "$a" -le 5 ]
then
echo "1"
else
echo "2"
fi
fi
(इस विशिष्ट उदाहरण के लिए @Flimzys पुनर्गठन निश्चित रूप से बेहतर है, लेकिन मैं सभी लोगों के लिए एक सामान्य नियम देना चाहता था कि कैसे कुछ नहीं करना है।)
true
। यह शेल में बनाया गया है, और कुछ भी नहीं करता है।