Ответ 1
Те тесты, которые вы указали:
- Single Parenthesis - (...) создает подоболочку
- Двойная скобка - ((...)) предназначена для арифметической операции
- Single Square Bracket - [...] - это синтаксис для POSIX
test
- Двойные квадратные скобки - [[...]] - синтаксис условных выражений bash (аналогично
test
, но более мощный)
не являются исчерпывающими, вы можете использовать логическую логику
if command; then ...
тоже, потому что команды имеют статус выхода. В bash
, 0
есть true
и > 0
есть false
.
Вы можете видеть статус выхода следующим образом:
command
echo $?
Смотрите:
http://wiki.bash-hackers.org/syntax/basicgrammar
http://wiki.bash-hackers.org/syntax/arith_expr
http://mywiki.wooledge.org/BashGuide/TestsAndConditionals