使用管道邮件命令隐藏stdout

时间:2012-04-21 20:18:31

标签: bash shell

我试图隐藏标准输出& stderr显示,无法正确使用语法。

我在root的.profile中有一个内核,只要有root登录就给我发电子邮件:

netstat -antp | grep ESTABLISHED | grep -v 127.0.0.1 | mail -s "alert: root access on server" email@address.com 2>&1>/dev/null &

问题是在邮件发送后,我在stdout上得到了这个:

[1]+  Done  mail -s "alert: root access on server" email@address.com 2>&1 > /dev/null

我不希望它在发送邮件时在命令行上显示任何内容,我错过了什么?我也试过这个,但没有运气:

mail -s "alert: root access on server" email@address.com > /dev/null 2>&1 &

我必须拥有“&”最后或在登录前暂停约30秒。

有关如何发送电子邮件,隐藏stdout和stderr以及将其作为后台程序运行的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

(netstat -antp | grep ESTABLISHED | grep -v 127.0.0.1 | mail -s“alert:服务器上的root访问权限”email@address.com&)