如何在Linux中将txt文件内容用作邮件主题?

0 投票
2 回答
781 浏览
提问于 2025-04-16 05:55

我有一个定时任务文件,它会执行一个下面的shell脚本。

27 11 * * * /usr/python/bi_python/launcher/launch_script_leds.sh

这个shell脚本做了几件事情:

1) 执行一个叫做launcher.py的python脚本,这个脚本会运行测试并把结果输出到日志文件。

2) 当测试完成后,它会发送邮件通知,邮件的内容是测试的输出结果。

在这个.sh文件里的命令是:

mail me@sample.com < /usr/python/bi_python/launcher/test_output.txt

这个命令运行得很好,但邮件的主题是空的。

邮件的主题是从launcher.py输出到一个叫subject.txt的文本文件里的内容。我想知道有没有办法把这个文件的内容作为邮件的主题呢?

我知道可以用mail -s来指定主题,但因为通过launcher运行了很多测试,主题的内容会一直变化。

提前谢谢你们的帮助!

2 个回答

0

好吧,只需要在邮件命令中加上参数 -s,后面跟上合适的主题。

如果想用文件里的内容作为主题,只需读取这个文件。在 Bash 中,

filecontents=$(cat /my/file)

这段代码会把 /my/file 文件里的内容读到变量 filecontents 里。然后你可以根据需要对文本进行截断或清理,最后把它用作 -s 的参数。

3

试试看

subject=$(</path/subject.txt)
mailx -s "$subject" me@sample.com < /usr/python/bi_python/launcher/test_output.txt

撰写回答