Por favor, explíqueme por qué la última declaración de "eco" está en blanco? Espero que se incrementa en el bucle while para un valor de 1:Alcance variable de Bash
#!/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`
de impresión y también suele fuera de la declaración while. Creo que me falta algo sobre el alcance variable aquí, pero la página de ol 'man no me lo está mostrando.
¿Dónde se inicializa XCODE a algo que se puede incrementar? –
He intentado lanzar un "XCODE = 0" en la parte superior del código, fuera de la declaración while –
Sin el cruft, me funciona. #!/Bin/bash para i en 1 2 3 4 5; do echo $ ((++ XCODE)) hecho echo "fin:" $ XCODE Creo que su problema no tiene nada que ver con el alcance variable y todo que ver con lo que está sucediendo en el tiempo. –