如何從 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

相關內容