Результат теста 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/["?