Я только что наткнулся на синтаксис bash:
foo=42
bar=$[foo+1] # evaluates an arithmetic expression
Когда я искал это в Google, я нашел http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_04.html#sect_03_04_05:
3.4.6. Арифметическое расширение
Арифметическое расширение позволяет вычислять арифметическое выражение и заменять результат. Формат арифметического расширения:
$(( EXPRESSION ))
...
По возможности, пользователи Bash должны стараться использовать синтаксис с квадратными скобками:
$[ EXPRESSION ]
Однако при этом будет рассчитан только результат ВЫРАЖЕНИЯ, а не тесты ...
На моей странице руководства bash я могу найти только $(( EXPRESSION ))
форму, например:
foo=42
bar=$((foo+1)) # evaluates an arithmetic expression
Итак, какие тесты не выполняются с $[...]
, которые выполняются с $((...))
, или $[...]
- это просто устаревшая версия $((...))
?