這很愚蠢,我嘗試尋找一種方法來做到這一點,許多網站都指示做同樣的事情,但是沒有什麼作品。
#!/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