Zakres zmiennej Bash
Proszę mi wyjaśnić, dlaczego ostatnie „echo” jest puste? Spodziewam się, że został zwiększony w pętli while do wartości 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
Próbowałem użyć następującej instrukcji zamiast metody ++ XCODE
XCODE=`expr $XCODE + 1`
i to też nie będzie drukować poza instrukcją while. Myślę, że brakuje mi tutaj czegoś o zmiennym zakresie, ale strona mężczyzny nie pokazuje mi tego.