Que tipo de valores de retorno (diferentes) você precisa para if, while e Until para sinalizar veracidade ou falsidade?

Que tipo de valores de retorno (diferentes) você precisa para if, while e Until para sinalizar veracidade ou falsidade?

Estou curioso sobre o valor esperado de condicionais em ife whileinstruções until, porque obviamente não consigo fazer minhas condicionais funcionarem corretamente.

Eles esperam truee falseou um código de saída, ou seja, 0ou {1-255}?

Responder1

Os condicionais testam um código de saída. Zero é verdadeiro e diferente de zero é falso. O truecomando é verdadeiro porque retorna um 0código de saída zero (). Da mesma forma, falseretorna 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"

informação relacionada