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)
如果我删除&行尾的 问题不会出现,但我在后台没有命令。
尝试将其放入子 shell 中:
`echo test | mail -s "test mail" me@my.domain &`
Run Code Online (Sandbox Code Playgroud)
它应该可以完成这项工作。
还重定向两者stdout,stderr同时对我有用:
echo test | mail -s "test mail" me@my.domain &> /dev/null &
Run Code Online (Sandbox Code Playgroud)
尝试添加一个!除此之外的命令&,这样您的命令不仅会在后台执行,而且还会被当前的 shell 拒绝:
echo test | mail -s "test mail" me@my.domain &!
Run Code Online (Sandbox Code Playgroud)
这对我使用 zsh 有用。