Cómo escribir varias líneas en un archivo desde bash

Cómo escribir varias líneas en un archivo desde bash

Esto es una tontería, he intentado buscar una manera de hacerlo y muchos sitios indican que se haga lo mismo, peronadaobras.

#!/bin/bash
message_content="$(cat <<-EOF
    A
        B
    C
EOF
)"

echo $message_content > test

Salida esperada de cat test:

A
B
C

Producción real de cat test:

A B C

¿Qué está sucediendo?

Respuesta1

¿Esto no te funciona?:

#!/bin/bash
cat <<EOF > test
A
B
C
EOF

o puedes hacer:

#!/bin/bash
message_content="$(cat <<-EOF
    A
        B
    C
EOF
)"

echo "$message_content" > test

como sugirió el comentario anterior. p.ejquote the variable

información relacionada