Результат теста Bash
Имея код:
if [ 0 ]
then
echo "0 is true."
else
echo "0 is false."
fi
Почему результат echo "0 is true.??? Означает ли это, что Bash оценивает 0 (ноль цифр) как true?
1 ответ
Решение
Означает ли это, что 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.
Исходный тест
Дальнейшее чтение
- Индекс AZ командной строки Bash для Linux - отличный справочник по всем вопросам, связанным с командной строкой Bash.
- test - Оценить выражение выражения expr.
- Как именно работает "/bin/["?