gpt4 book ai didi

linux - 在 bash 脚本中发送邮件输出文字\n 而不是新行

转载 作者:太空狗 更新时间:2023-10-29 11:03:59 25 4
gpt4 key购买 nike

我正在使用以下 bash 脚本发送电子邮件

 #!/bin/bash

recipients="me@web.com, you@web.com"
subject="Just a Test"
from="test@test.com"

message_txt="This is just a test.\n Goodbye!"

/usr/sbin/sendmail "$recipients" << EOF
subject:$subject
from:$from
$message_txt
EOF

但是当邮件到达时 $message_txt 的内容是这样打印的:

 This is just a test.\n Goodbye!

而不是像这样解释新行:

 This is just a test.
Goodbye!

我试过使用:

 echo $message_txt
echo -e $message_txt
printf $message_txt

但结果总是一样的。我哪里错了?

我做错了什么?

最佳答案

在 bash 中你应该使用下面的语法

message_txt=$'这只是一个测试。\n 再见!'

$ 开头的单引号是一种允许在字符串中插入转义序列的新语法。

检查以下 documentation关于 bash 类 ANSI C 转义序列的引用机制

关于linux - 在 bash 脚本中发送邮件输出文字\n 而不是新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32779781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com