Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

bash: variable con retornos de carro

549 views
Skip to first unread message

Alvaro G Vicario

unread,
Jul 5, 2004, 8:14:09 AM7/5/04
to
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

unread,
Jul 5, 2004, 8:45:06 AM7/5/04
to
Alvaro G Vicario wrote:

> 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

Claudio

unread,
Jul 5, 2004, 8:45:33 AM7/5/04
to
On 2004-07-05, Alvaro G Vicario wrote:
> 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--

Piojo

unread,
Jul 5, 2004, 8:45:51 AM7/5/04
to
Alvaro G Vicario dijo:

> 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

unread,
Jul 5, 2004, 8:51:35 AM7/5/04
to
*** Piojo wrote/escribió (Mon, 05 Jul 2004 14:45:51 +0200):
> 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!


--

Rubén de Íscar Camacho

unread,
Sep 28, 2023, 10:28:19 AM9/28/23
to
Gracias!!
0 new messages