Tengo algunos scripts antiguos que intento actualizar. Parte del código se condensa a:
export X=`(echo "abc"; echo "def")`
echo $X
que da el resultado esperado:
abc def
Ahora, Internet me dice que los backticks están fuera $()es lo que necesito usar, pero cuando lo intento:
export X=$((echo "abc"; echo "def"))
X no está configurado y me sale el error:
bash: echo "abc"; echo "def": syntax error: invalid arithmetic operator (error token is ""abc"; echo "def"")
¿Qué estoy haciendo mal?

`...`e$(...)iniciar una subshell de todos modos, por lo que(...)no son necesarios los internos (desperdiciar un proceso) Necesitaría el espacio en cosas como,$( (...); (...) )por ejemplo (donde las subcapas internas pueden ser necesarias).Tratar
export X="$(echo "abc"; echo "def")"fuente
kshybashser las únicas excepciones).