1

Имея код:

if [ 0 ]      
then
  echo "0 is true."
else          
  echo "0 is false."
fi

Почему результат echo "0 is true.??? Означает ли это, что bash оценивает 0 (ноль цифр) как true?

1 ответ1

4

Означает ли это, что bash оценивает 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.

Исходный тест


Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .