Alcance variable de Bash
Por favor, explícame por qué la última declaración de "eco" está en blanco? Espero que se haya incrementado en el bucle while a un valor de 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
He intentado usar la siguiente declaración en lugar del método ++ XCODE
XCODE=`expr $XCODE + 1`
y tampoco se imprimirá fuera de la sentencia while. Creo que me estoy perdiendo algo sobre el alcance de las variables aquí, pero la página del viejo manual no me lo muestra.