stdoutを表示しないようにstderrを非表示にしようとしていますが、正しい構文を取得できません。パイプメールコマンドでstdoutを隠す
私はrootログインがあるたびに私にメールするには、rootの.profile内の1つのライナーを持っている:
netstat -antp | grep ESTABLISHED | grep -v 127.0.0.1 | mail -s "alert: root access on server" [email protected] 2>&1>/dev/null &
問題は、メールが送信された後、私は標準出力にこれを取得することです:
[1]+ Done mail -s "alert: root access on server" [email protected] 2>&1 > /dev/null
メールが送信されたときにコマンドラインに何も表示しないようにするには、何が欠けていますか?また、私はこれを試してみましたが、ない運:
mail -s "alert: root access on server" [email protected] > /dev/null 2>&1 &
は、私が最後に「&」を持っている必要がありませんか、それは、ログイン前〜30秒を一時停止します。
電子メールを送信する方法、stdoutとstderrを隠す方法、およびバックグラウンドプログラムとして実行する方法に関するアイデアはありますか?
ありがとうございます!
この参照:http://superuser.comを/ questions/305933 /防止-bash-from-done-when-background-command-finished-execut – mihai