आदेश [
सिर्फ आदेश test
के उपनाम है, बंद करने वर्ग कोष्ठक सिर्फ sytax चीनी (आदेश [
अंतिम तर्क पर ध्यान नहीं देता है, तो यह एक बंद कोष्ठक है) किया जा रहा है, तो लाइन वास्तव में पढ़ता है
if test :$RESULT != :0,0
यह तुलना करता है यदि स्ट्रिंग :$RESULT
स्ट्रिंग :0,0
के बराबर होती है। इस मामले के लिए कोलन प्रीपेड किया गया है कि परिवर्तनीय $RESULT
खाली है। लाइन निम्नलिखित कैसा लगेगा अगर बृहदान्त्र बाहर रखा गया था और $RESULT
कोई रिक्त स्ट्रिंग था:
if test != 0,0
यह किसी त्रुटि के लिए नेतृत्व करेंगे के बाद से test
!=
से पहले एक बहस की उम्मीद है। , हालांकि
if test "$RESULT" != 0,0
# Will become
if test "" != 0,0
भिन्नता तुम्हें तैनात अधिक पोर्टेबल है: एक वैकल्पिक उद्धरण चिह्नों का उपयोग करने के लिए इंगित करने के लिए एक तर्क है, जो एक रिक्त स्ट्रिंग है है कि वहाँ होगा।
'प्रयास करें आदमी bash' और builtin आदेश के लिए खोज' अधिक जानकारी – soulmerge
ठीक है के लिए test', मैं उसका पालन करें, धन्यवाद! तो क्या यह वास्तव में स्ट्रिंग "0,0" की तुलना कर रहा है?मैं केवल इतना पूछता हूं कि परिवर्तनीय परिणाम के पास कभी भी मूल्य नहीं होगा! मुझे आश्चर्य हुआ कि 0,0 कुछ और करता है। शायद एक खाली स्ट्रिंग? –
नहीं, '0,0' एक स्ट्रिंग है और ऑपरेटर '! =' तारों की तुलना करता है, इसलिए यह जांचता है कि '$ RESULT' स्ट्रिंग' 0,0' है या नहीं। 'मैन टेस्ट' आज़माएं। – soulmerge