Hay dos sintaxis diferentes para la sustitución de comandos,
FOO=$(echo bar)
y
FOO=`echo bar`
Por lo que yo sé, se define el primer método en Bash, mientras que el segundo se define en sh
.
Considere el siguiente uso de sustitución de comando en un script sh
.
#!/bin/sh
FOO=$(echo bar)
¿Eso caen bajo la definición de bashism?
bash, es decir, no características definidas por POSIX (no va a funcionar en el tablero, o /bin/sh general).
Existen 2 buenas razones para usar siempre la versión más moderna (y, a mi juicio, correcta). $() es casi infinitamente más legible que los backticks, y $ ($()) es anidable, lo cual es una gran ventaja en ocasiones. En la actualidad, no hay una buena razón para usar los apoyos. –