Имея код:
if [ 0 ]
then
echo "0 is true."
else
echo "0 is false."
fi
Почему результат echo "0 is true.
??? Означает ли это, что bash оценивает 0
(ноль цифр) как true
?
Имея код:
if [ 0 ]
then
echo "0 is true."
else
echo "0 is false."
fi
Почему результат echo "0 is true.
??? Означает ли это, что bash оценивает 0
(ноль цифр) как true
?
0
(ноль цифр) как true
?Да.
[ str ]
проверяет, является лиstr
непустым. Неважно, еслиstr
равен0
, он все равно будет оцениваться на непустоту.
Источник [0] это правда.Вместо этого используйте «ложь»
Встроенные функции
test
и[
оценивают условные выражения с использованием набора правил, основанных на количестве аргументов.0 аргументов
The expression is false.
1 аргумент
The expression is true if and only if the argument is not null.
Исходный тест