GNU/Linux >> Tutoriales Linux >  >> Linux

¿Usar $[ Expr ] en lugar de $(( Expr ))?

En el párrafo que explica la expansión aritmética, la guía del usuario de Bash descubre 2 formas diferentes de evaluar una expresión, la primera usa $(( EXPRESSION )) y el segundo usa $[ EXPRESSION ] . Las dos formas parecen bastante similares ya que la única diferencia que he encontrado es:

$[ EXPRESSION ] solo calculará el resultado de EXPRESIÓN y no hará pruebas:

Sin embargo, estoy intrigado porque el mismo documento recomienda usar $[ EXPRESSION ] en lugar de $(( EXPRESSION )) .

Siempre que sea posible, los usuarios de Bash deben intentar usar la sintaxis entre corchetes:

¿Por qué querrías eso si se están haciendo menos pruebas?

Respuesta aceptada:

Pregunta de duplicación (con respuesta)

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

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

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

 $((expression)) 

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

Entonces $[…] es una sintaxis antigua que ya no debería usarse

Además de esa respuesta:

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

Información relacionada con las versiones de bash:

Aquí hay información sobre las páginas man de bash (es difícil encontrar información sobre a qué versión se refiere cada una):

Enlace OP:

http://www.tldp.org/guides.html Guía Bash para principiantes
versión:1.11
autor:Machtelt Garrels,
última actualización:diciembre de 2008

algo (74.6k rep) citando bash v3.2.48

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

Nota:Más información sobre [] vs (()) aquí:http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00033.html

un enlace que encontré:

http://www.gnu.org/software/bash/manual/ última actualización el 22 de agosto de 2012

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


Linux
  1. ¿Por qué no puedo usar Cd en un script Bash?

  2. ¿Usar la extensión .sh o .bash para scripts Bash?

  3. Paréntesis en aritmética Expr:3 * (2 + 1)?

  4. ¿Qué shell debo usar:Tcsh Vs Bash?

  5. ¿Por qué se debe evitar eval en Bash y qué debo usar en su lugar?

Use este útil script de Bash cuando observe las estrellas

¿No amas las diferencias? Use Meld en su lugar

Función Bash y cómo usarla {Variables, Argumentos, Retorno}

Cómo usar el comando de lectura Bash

Linux vs Mac OS:15 razones por las que usar Linux en lugar de Mac OS

¿Qué es Zsh? ¿Deberías usarlo?