Я очень тупой проблему, но не могу обернуть мою голову вокруг негоИЛИ логический оператор в Баш
if [[ false || false ]] ; then
echo 'true'
else
echo 'false'
fi
По http://tldp.org/LDP/abs/html/comparison-ops.html
-o логическое или
exp1 -o exp2 возвращает true, если значение exp1 или exp2 истинно.
Это похожие на операторы сравнения Bash & & и ||, использовано в двойных скобках. [[Condition1 & & condition2]]
так, если оба ложны, то он должен вернуться ложным? то почему он печатает «правда»?
'' '' (пустая строка), вероятно, является более каноническим ложным значением в 'bash'; обратите внимание, что '! 0' является столь же ложным в этом контексте, как '! 1'. – chepner