Bash通过mutt将变量作为文本发送,不带echo或printf

时间:2014-12-01 20:19:21

标签: bash

我有以下问题: 我有一个文件,其中包含我想格式化并作为电子邮件发送的列表。 由于变量包含换行符,因此我无法使用echo将变量传递给mutt。我尝试过printf但它只打印变量的第一行。我还想避免创建新文件,因为此脚本在敏感的地方运行。

以下是供参考的代码:

TEST=hello
TEST=$TEST$'\n'`cat file.txt`
echo $TEST | mutt -s "test" email@domain.com

给了我

hello line1 line2 line3 line4 line5...

TEST=hello
TEST=$TEST$'\n'`cat file.txt`
printf $TEST | mutt -s "test" email@domain.com

给了我

hello

1 个答案:

答案 0 :(得分:0)

正如Etan所指出的那样,将变量解除引用置于引号内echo "$TEST"告诉echo留下新行。