Какие (различные) возвращаемые значения вам нужны для if, while и until, чтобы сигнализировать об истинности или ложности?

Какие (различные) возвращаемые значения вам нужны для if, while и until, чтобы сигнализировать об истинности или ложности?

Мне интересно узнать ожидаемое значение условных операторов в операторах if, whileи until, потому что я, очевидно, не могу заставить свои условные операторы работать правильно.

Ожидают ли они trueи falseили код выхода, т.е. 0или {1-255}?

решение1

Условные операторы проверяют код выхода. Ноль — это истина, а не ноль — это ложь. trueКоманда истинна, поскольку возвращает нулевой ( 0) код выхода. Аналогично, falseвозвращает ненулевой код выхода (как оказалось, это 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"

Связанный контент