%20necesita%20si%2C%20mientras%20y%20hasta%20para%20se%C3%B1alar%20veracidad%20o%20falsedad%3F.png)
Tengo curiosidad sobre el valor esperado de los condicionales en if
las declaraciones while
y until
, porque obviamente no puedo hacer que mis condicionales funcionen correctamente.
¿Esperan true
y false
/o un código de salida, es decir, 0
o {1-255}
?
Respuesta1
Los condicionales prueban un código de salida. Cero es verdadero y distinto de cero es falso. El true
comando es verdadero porque devuelve un 0
código de salida cero ( ). De manera similar, false
devuelve 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"