¿Qué tipo de valores de retorno (diferentes) necesita si, mientras y hasta para señalar veracidad o falsedad?

¿Qué tipo de valores de retorno (diferentes) necesita si, mientras y hasta para señalar veracidad o falsedad?

Tengo curiosidad sobre el valor esperado de los condicionales en iflas declaraciones whiley until, porque obviamente no puedo hacer que mis condicionales funcionen correctamente.

¿Esperan truey false/o un código de salida, es decir, 0o {1-255}?

Respuesta1

Los condicionales prueban un código de salida. Cero es verdadero y distinto de cero es falso. El truecomando es verdadero porque devuelve un 0código de salida cero ( ). De manera similar, falsedevuelve un código de salida distinto de cero (da la casualidad de que es 1).

if true; then echo 'happy days'; fi
if false; then echo 'maths has just died a horrible death'; fi

true; echo "exit status is $?"     # "0"
false; echo "exit status is $?"    # "1"

[ 0 -eq 0 ]; echo "exit status is $?"    # "0"
[ 0 -eq 1 ]; echo "exit status is $?"    # "1"

información relacionada