Область видимости переменной Bash

Пожалуйста, объясните мне, почему самый последнийэхо» заявление пустое? Я ожидаю, что он был увеличен в цикле while до значения 1: I '

#!/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`

и это тоже не будет печататься вне оператора while. Я думаю я'м пропустить что-то о области видимости переменной здесь, но ол Страница man не показывает его мне.

Ответы на вопрос(7)

Ваш ответ на вопрос