如何从 bash 在一个文件中写入多行

如何从 bash 在一个文件中写入多行

这很愚蠢,我曾尝试寻找一种方法来做到这一点,许多网站也指导如何做同样的事情,但是没有什么作品。

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

echo $message_content > test

预期产出cat test

A
B
C

实际产量cat test

A B C

这是怎么回事?

答案1

这对您不起作用吗?:

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

或者你可以这样做:

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

echo "$message_content" > test

正如先前的评论所建议的那样。例如quote the variable

相关内容