bash - बैश में एक सशर्त में "कम कुछ नहीं" का क्या आदेश है?




conditional noop (2)

आप शायद true कमांड का उपयोग कर सकते हैं:

if [ "$a" -ge 10 ]; then
    true
elif [ "$a" -le 5 ]; then
    echo "1"
else
    echo "2"
fi

एक विकल्प, आपके उदाहरण मामले में (लेकिन जरूरी नहीं कि हर जगह) आपके / अन्यथा फिर से ऑर्डर करना है:

if [ "$a" -le 5 ]; then
    echo "1"
elif [ "$a" -lt 10 ]; then
    echo "2"
fi

कभी-कभी सशर्त बनाने के दौरान, मुझे कुछ भी करने के लिए कोड की आवश्यकता नहीं होती है, उदाहरण के लिए, मैं चाहता हूं कि बैश कुछ भी नहीं करे जब $a 10 "10" से अधिक हो, तो "1" प्रिंट करें यदि $a 5 "5" से कम है, अन्यथा, प्रिंट करें "2":

if [ "$a" -ge 10 ]
then
elif [ "$a" -le 5 ]
then
    echo "1"
else
    echo "2"
fi

हालांकि यह एक त्रुटि बनाता है। क्या कोई ऐसा आदेश है जो कुछ भी नहीं करेगा और मेरी स्क्रिप्ट को धीमा नहीं करेगा?


खोल में नो-ऑप कमांड है : (कोलन)।

if [ "$a" -ge 10 ]
then
    :
elif [ "$a" -le 5 ]
then
    echo "1"
else
    echo "2"
fi

बैश मैनुअल से :

: (एक कोलन)
तर्कों का विस्तार करने और पुनर्निर्देशन करने से परे कुछ भी नहीं करें। वापसी की स्थिति शून्य है।







noop