%20voc%C3%AA%20precisa%20para%20if%2C%20while%20e%20Until%20para%20sinalizar%20veracidade%20ou%20falsidade%3F.png)
Estou curioso sobre o valor esperado de condicionais em if
e while
instruções until
, porque obviamente não consigo fazer minhas condicionais funcionarem corretamente.
Eles esperam true
e false
ou um código de saída, ou seja, 0
ou {1-255}
?
Responder1
Os condicionais testam um código de saída. Zero é verdadeiro e diferente de zero é falso. O true
comando é verdadeiro porque retorna um 0
código de saída zero (). Da mesma forma, false
retorna um código de saída diferente de zero (na verdade, é 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"