2

我试图隐藏 stdout 和 stderr 以防止显示并且无法正确使用语法。

每当有 root 登录时,我在 root 的 .profile 中有一个衬线给我发送电子邮件:

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

问题是邮件发送后,我在标准输出上得到了这个:

[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 秒。

关于如何发送电子邮件、隐藏标准输出和标准错误以及将其作为后台程序运行的任何想法?

谢谢!

4

1 回答 1

1

(netstat -antp | grep ESTABLISHED | grep -v 127.0.0.1 | mail -s "alert: root access on server" email@address.com &)

于 2012-04-21T20:32:23.750 回答