कृपया मुझे बताएं कि आखिरी "गूंज" कथन खाली क्यों है? मैं उम्मीद है कि यह 1 का मान है, जबकि पाश में वृद्धि की गई थी:बैश वैरिएबल स्कोप
#!/bin/bash
OUTPUT="name1 ip ip status" # normally output of another command with multi line output
if [ -z "$OUTPUT" ]
then
echo "Status WARN: No messages from SMcli"
exit $STATE_WARNING
else
echo "$OUTPUT"|while read NAME IP1 IP2 STATUS
do
if [ "$STATUS" != "Optimal" ]
then
echo "CRIT: $NAME - $STATUS"
echo $((++XCODE))
else
echo "OK: $NAME - $STATUS"
fi
done
fi
echo $XCODE
मैं निम्नलिखित बयान के बजाय ++ Xcode विधि
XCODE=`expr $XCODE + 1`
और यह भी अभ्यस्त प्रिंट का उपयोग कर की कोशिश की है वक्तव्य के बाहर। मुझे लगता है कि मैं यहाँ परिवर्तनीय दायरे के बारे में कुछ याद कर रहा हूं लेकिन ओल 'मैन पेज मुझे यह नहीं दिखा रहा है। अगर उन परिवर्तनों को मदद
आप XCODE को उस चीज़ पर प्रारंभ करते हैं जिसे बढ़ाया जा सकता है? –
मैंने कोड के शीर्ष पर "XCODE = 0" फेंकने की कोशिश की है, जबकि कथन के बिना –
क्रॉफ्ट के बिना, यह मेरे लिए काम करता है। #!/Bin/bash मैं 1 2 3 4 5 में; echo $ ((++ XCODE)) किया गूंज "फिन:" $ XCODE मुझे लगता है कि आपकी समस्या में परिवर्तनीय स्कॉइंग और कुछ भी हो रहा है, जो कुछ भी हो रहा है उसके साथ करने के लिए कुछ भी नहीं है। –