Discussion:
bash: variable con retornos de carro
(demasiado antiguo para responder)
Alvaro G Vicario
2004-07-05 12:14:09 UTC
Permalink
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

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
--
Bru Anglés
2004-07-05 12:45:06 UTC
Permalink
Post by Alvaro G Vicario
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...
#!/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
Post by Alvaro G Vicario
salida="
Hola:\n
Esto es un texto
de varias líneas
contenido en una
sola variable.
Un saludo,
"
echo ----------------
echo -e $salida
echo ----------------
----------------
Esto es un texto de varias líneas contenido en una sola variable. Un
saludo,
----------------
Gracias de antemano,
Claudio
2004-07-05 12:45:33 UTC
Permalink
Post by Alvaro G Vicario
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.
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--
Rubén de Íscar Camacho
2023-09-28 14:28:18 UTC
Permalink
Post by Claudio
Post by Alvaro G Vicario
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.
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--
Gracias!!

Piojo
2004-07-05 12:45:51 UTC
Permalink
Post by Alvaro G Vicario
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.
Alvaro G Vicario
2004-07-05 12:51:35 UTC
Permalink
Post by Piojo
echo -e "$salida"
Con las comillas *dobles*.
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!
--
--
-- Álvaro G. Vicario - Burgos, Spain
--
Loading...