Bash 使用管道邮件命令隐藏标准输出

Bash 使用管道邮件命令隐藏标准输出,bash,shell,Bash,Shell,我试图隐藏stdout&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上得到了以下信息:

我试图隐藏stdout&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并将其作为后台程序运行,有什么想法吗


谢谢

(netstat-antp | grep已建立| grep-v 127.0.0.1 | mail-s“警报:服务器上的根访问”email@address.com&)

看这个:西万,谢谢,这适合我的需要!注意:它实际上并没有超出所有消息的范围,因为我从netstat-antp得到了这个消息:
(无法读取“-p”:geteuid()=1004的任何信息,但您应该是root。)
我去掉了-p,一切都很顺利。谢谢