Почему я должен использовать $ вместо $ ((EXPR))?

В абзаце, объясняющем арифметическое расширение, руководство пользователя Bash раскрывает 2 разных способа оценки выражения, первый использует $(( EXPRESSION )) а второй использует $[ EXPRESSION ] . Эти два способа кажутся довольно похожими, поскольку единственная разница, которую я нашел:

$[ EXPRESSION ] рассчитывает только результат EXPRESSION и не выполняет никаких тестов:

  • bash, который использует nc для отчетов telnet ": команда не найдена ОК"
  • Неожиданный конец файла при поиске скрипта ``
  • Самый быстрый способ изменить dir из / xxxxx / foo / yyyyyy в / xxxxx / bar / yyyyyy
  • выполнение команд последовательно в bash
  • Как определить аналогичную функцию bash сразу
  • Как перечислить все комбинации слов?
  • Тем не менее, я заинтригован, потому что в одном документе рекомендуется использовать $[ EXPRESSION ] а не $(( EXPRESSION )) .

    По возможности пользователи Bash должны использовать синтаксис с квадратными скобками:

    Зачем вам это нужно, если меньше тестов?

  • Странное поведение в $ (dirname `readlink -f $ 0`)
  • Как я могу просмотреть ссылку или чит-лист базового синтаксиса bash в терминале linux?
  • dirname недействительный параметр `b`
  • bash throwing "ignored null byte in input" предупреждение в скрипте
  • Как выполнить команду 'clear' bash перед выполнением любой другой команды?
  • Попытка генерировать случайный проход для пользователей и сохранять их в файле
  • One Solution collect form web for “Почему я должен использовать $ вместо $ ((EXPR))?”

    Вопрос о дублировании (с ответом)

    https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression

    В manpage для bash v3.2.48 говорится:

    […] Формат арифметического расширения:

      $((expression)) 

    Старый формат $ [выражение] устарел и будет удален в будущих версиях bash.

    Таким образом, $ […] – это старый синтаксис, который больше не должен использоваться

    В дополнение к этому ответу:

    http://manual.cream.org/index.cgi/bash.1#27

    Информация, относящаяся к версиям bash:

    Вот некоторая информация о страницах руководства bash (трудно найти информацию о том, к какой версии относится каждый):

    Ссылка OPs:

    http://www.tldp.org/guides.html Bash Guide for Beginners версия: 1.11 автор: Machtelt Garrels, последнее обновление: декабрь 2008 г.

    sth (74.6k rep), цитирующий bash v3.2.48

    от https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression )

    Примечание. Подробнее о [] vs (()) здесь: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00033.html

    ссылка, которую я нашел:

    http://www.gnu.org/software/bash/manual/ Последнее обновление 22 августа 2012 г.

    http://www.gnu.org/software/bash/manual/bash.html#Arithmetic-Expansion

    Linux и Unix - лучшая ОС в мире.