Os copio una de las mil pruebas que he hecho:
#!/bin/bash
salida="
Hola:\n
Esto es un texto
de varias líneas
contenido en una
sola variable.
Un saludo,
"
echo ----------------
echo -e $salida
echo ----------------
Esto imprime:
----------------
Hola:
Esto es un texto de varias líneas contenido en una sola variable. Un
saludo,
----------------
Gracias de antemano,
--
-- Álvaro G. Vicario - Burgos, Spain
--
> Sé que tiene que ser una bobada pero no logro dar con ella. Simplemente
> necesito, para un script en bash, asignar a una variable un texto con
> retornos de carro. El problema es que sólo he logrado hacerlo insertando
> \n a mano, y eso es un engorro cuando se trata de textos un poco largos.
> Ya no sé si el problema es al asignar la variable o al escribirla...
>
> Os copio una de las mil pruebas que he hecho:
>
>
> #!/bin/bash
Un poco rebuscado pero prueba
salida=$(cat -E << EOF
Hola:
Esto es un texto
de varias lineas
contenido en una
sola variable
Un saludo.
EOF
)
echo -e $(echo $salida | sed "s/\\$/\\\n/g")
Mira a ver si te funciona guay. (man cat, man echo, man sed)
Un saludo
A="hola:
Creo que esto es lo que necesitas.
ok?"
echo "$A"
El problema no lo tenías al hacer la asignación de
la variable, sino en el echo.
Un saludo.
--claudio--
> salida="
> Hola:\n
>
> Esto es un texto
> de varias líneas
> contenido en una
> sola variable.
>
> Un saludo,
>
> "
echo -e "$salida"
Con las comillas *dobles*.
Salu2.
Señor, Señor, Señor.... Qué evidente resulta cuando te lo dicen... Normal,
si no hay comillas el shell elimina los espacios redundantes, es de cajón.
¡Gracias!
--