में एक स्ट्रिंग की तुलना करें मैं एसएच खोल का उपयोग कर रहा हूं और मैं एक चर के मूल्य के साथ एक स्ट्रिंग की तुलना करने की कोशिश कर रहा हूं लेकिन if
स्थिति हमेशा सत्य पर निष्पादित होती है। क्यूं कर?यूनिक्स
Sourcesystem="ABC"
if [ "$Sourcesystem" -eq 'XYZ' ]; then
echo "Sourcesystem Matched"
else
echo "Sourcesystem is NOT Matched $Sourcesystem"
fi;
echo Sourcesystem Value is $Sourcesystem ;
यहां तक कि इस काम नहीं कर रहा:
Sourcesystem="ABC"
if [ 'XYZ' -eq "$Sourcesystem" ]; then
echo "Sourcesystem Matched"
else
echo "Sourcesystem is NOT Matched $Sourcesystem"
fi;
echo Sourcesystem Value is $Sourcesystem ;
दूसरे, हम इस एक शून्य या खाली स्ट्रिंग के साथ मिलान कर सकते हैं
यहाँ कुछ कोड है?
बॉर्न में प्रथम शैल आप अतिरिक्त जरूरत नहीं है ';' जब मैं बोर्न शेल में स्क्रिप्ट चलाता हूं, तो यदि स्थिति गलत है। यह पहले चेतावनी देगा: [: एबीसी: पूर्णांक अभिव्यक्ति अपेक्षित है। आउटपुट है: "स्रोत सिस्टम एबीसी से मेल नहीं खाता है"। जैसा कि दूसरों द्वारा टिप्पणी की गई है, -ईक पूर्णांक तुलना के लिए प्रयोग किया जाता है। बोर्न शैल (#!/Bin/sh) में स्ट्रिंग तुलना के लिए एक समान बराबर चिह्न का उपयोग करें। आपके खोल को आपको पहले स्थान पर सही करना चाहिए था। –