从 /etc/profile 文件发送邮件

Mic*_*ore 5 email command-line

我在/etc/profile文件中添加了一个电子邮件命令,如下所示:

echo test | mail -s "test mail" me@my.domain &
Run Code Online (Sandbox Code Playgroud)

&行的末尾用于在后台运行邮件命令,以免延迟登录提示。

一切正常,但如果我按下Enter我可以在提示符处看到邮件命令的结果:

[1]+  Done       echo test | mail -s "test mail" me@my.domain
Run Code Online (Sandbox Code Playgroud)

如果我删除&行尾的 问题不会出现,但我在后台没有命令。

Rav*_*ina 3

尝试将其放入子 shell 中:

`echo test | mail -s "test mail" me@my.domain &`
Run Code Online (Sandbox Code Playgroud)

它应该可以完成这项工作。

还重定向两者stdoutstderr同时对我有用:

echo test | mail -s "test mail" me@my.domain &> /dev/null &
Run Code Online (Sandbox Code Playgroud)


Mar*_*and 2

尝试添加一个!除此之外的命令&,这样您的命令不仅会在后台执行,而且还会被当前的 shell 拒绝:

echo test | mail -s "test mail" me@my.domain &!
Run Code Online (Sandbox Code Playgroud)

这对我使用 zsh 有用。