Имея код:
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.
Исходный тест