Я знаю, что в Bash if
операторы можно оценить с expr
помощью:
if [[ 5 > 0 ]]; then echo true; fi
Как Bash оценивает следующую форму if
?
if [ 5 -gt 0 ]; then echo true; fi
решение1
Первый выполняет лексикографическое сравнение строк и является bash
единственным, а второй выполняет числовое сравнение и работает также в оболочке POSIX.
Второй вариант можно было бы лучше записать на bash так:
if ((5 > 0)); then echo "true"; fi