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
ksh
ybash
ser las únicas excepciones).