Vui lòng giải thích cho tôi tại sao echo
câu lệnh cuối cùng lại trống? Tôi mong đợi điều đó XCODE
được tăng lên trong vòng lặp while thành giá trị 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
Tôi đã thử sử dụng câu lệnh sau thay vì ++XCODE
phương thức
XCODE=`expr $XCODE + 1`
và nó cũng sẽ không in ra bên ngoài câu lệnh while. Tôi nghĩ rằng tôi đang thiếu một cái gì đó về phạm vi biến ở đây, nhưng trang người đàn ông ol 'không hiển thị nó cho tôi.