这很愚蠢,我曾尝试寻找一种方法来做到这一点,许多网站也指导如何做同样的事情,但是没有什么作品。
#!/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