bash: $ contra $ (())

Acabo de tropezar con la syntax bash:

foo=42 bar=$[foo+1] # evaluates an arithmetic expression 

Cuando busqué en Google esto, encontré http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_04.html#sect_03_04_05 :

3.4.6. Expansión aritmética

La expansión aritmética permite la evaluación de una expresión aritmética y la sustitución del resultado. El formato para la expansión aritmética es:

 $(( EXPRESSION )) 

Siempre que sea posible, los usuarios de Bash deben intentar usar la syntax con corchetes:

 $[ EXPRESSION ] 

Sin embargo, esto solo calculará el resultado de EXPRESSION, y no hará pruebas …

En mi página bash man solo puedo encontrar el formulario $(( EXPRESSION )) como:

 foo=42 bar=$((foo+1)) # evaluates an arithmetic expression 

Entonces, ¿qué pruebas no se realizan con $[...] que hacen con $((...)) , o es el $[...] una versión heredada de $((...)) ?

La página de manual para bash v3.2.48 dice:

[…] El formato para la expansión aritmética es:

  $((expression)) 

El antiguo formato $ [expresión] está en desuso y se eliminará en las próximas versiones de bash.

Así que $[...] es una syntax antigua que ya no debería usarse.

@sth es completamente correcto. Y en caso de que sienta curiosidad acerca de por qué una syntax más detallada ahora está a favor, consulte este correo electrónico anterior de la lista de correo.

http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00033.html

“En las primeras propuestas, se utilizó un formulario $ [expresión]. Era funcionalmente equivalente al “$ (())” del texto actual, pero se formularon objeciones de que el KornShell de 1988 ya había implementado “$ (())” y no había una razón convincente para inventar otra syntax. Además, la syntax “$ []” tenía una incompatibilidad menor que involucraba los patrones en las declaraciones de casos “.

No estoy seguro de que me guste el razonamiento “pero alguien ya lo ha hecho de forma más verborrea”, pero ahí lo tiene, ¿tal vez el problema de la statement de caso fue más convincente de lo que imagino a partir de esta mención oscura?