आप की परिभाषा पा सकते हैं -ltऔर -gtके दस्तावेज में testआदेश ( man test), या पार्टी के दस्तावेज में के बाद से testहै एक अंतर्निहित आदेश बैश में (अधिकांश अन्य गोले की तरह)।
-ltऔर -gtसंख्यात्मक तुलना (कम से कम [और नहीं के बराबर], अधिक से अधिक [और नहीं के बराबर]) हैं। वहाँ भी कम / अधिक से अधिक या बराबर ऑपरेटर हैं -leऔर -ge, और बराबर और नहीं-बराबर ऑपरेटरों -eqऔर -ne। ये न्यूमेरिक ऑपरेटर होते हैं, इसलिए यदि दोनों ओर कोई संख्या नहीं है, तो त्रुटि होगी और 9इससे कम माना जाता है 10।
-ltसामान्य के बजाय कारण जैसे नामों का उपयोग किया <जाता है, चरित्र <को पुनर्निर्देशन के रूप में व्याख्या किया जाएगा। ऑपरेटर =और !=भी मौजूद हैं, लेकिन वे एक स्ट्रिंग तुलना करते हैं: test 00 -eq 0सच है जबकि test 00 = 0झूठ है।
बैश सहित कुछ गोले भी ऑपरेटरों के हैं <और >जो एक स्ट्रिंग लेक्सिकोग्राफिक तुलना करते हैं, इसलिए test 9 \< 10यह गलत है क्योंकि 9पहले छांटा गया है 1(बैकस्लैश चरित्र <को पुनर्निर्देशन ऑपरेटर के रूप में व्याख्या करने से रोकता है )। ये गोले परीक्षणों के लिए डबल-ब्रैकेट सिंटैक्स भी प्रदान करते हैं, उदाहरण के लिए [[ 9 < 10 ]](जैसा कि विरोध किया गया [ 9 \< 10 ]), जिसके अंदर पुनर्निर्देशन नहीं हो सकता है इसलिए <इसे उद्धृत करने की आवश्यकता नहीं है।
echoकोड में दिए गए कथन आपके प्रश्न का उत्तर देते हैं।