端末を開くと、「メールあり」というメッセージが表示されます。理由を知っている人はいますか?私はOS Xを実行していますが、やはりUnixベースで、bashrc、bash_profileなどのファイルに依存しているからです。ここで誰かが知っているようですが、これがプラットフォーム固有の問題かどうかはわかりません。
答え1
何かがローカルメール交換機を使ってコンピュータにメールを送信しているようです。電子メールは、インストールされている一部のパッケージから自動的に送信されるメッセージである可能性があります。ログイン後、mail
端末に入力して関連メッセージを読み(可能であれば)削除してください。 (内部でコマンドが何であるかを確認しmail
てください?
。)未読メールを読んだり削除した後、他の人が同じ方法でメールを送信するまで、「メールがあります」というメッセージは再表示されません。電子メールが誰に送信されるかを知ったら、電子メールが送信される場所を変更する設定オプションを見つけることができます。
答え2
これは「プラットフォーム固有の問題」です:-)
Mac OS X では、次のコマンドをデフォルトのシェルとして使用します。吹く他の多くの Un*x/Linux システムと同様に。
システムからのメッセージは通常、ユーザーのメールボックスに保存されます。/var/mail/$user
時にはメールボックスに重要なメッセージ(失敗したcronjobジョブなど)が含まれているため、毎回自分で確認する必要はありません。
BASH(および他の多くのシェル)には、端末を初めて開くときにメッセージを印刷するメールチェックと呼ばれる機能があります。
$ MAILCHECKは、新しいメールを確認するのにかかる秒数を含む環境変数です。デフォルトのプロンプトが表示される前にメールも確認されます。もっと見るBashリファレンスマニュアル -MAILCHECK
。
新しいメールを確認したくない場合は、$ MAILCHECKの設定を解除してください。正しい場所は、シェルを開くと読み込まれる .bashrc ファイルです。これはユーザーのホームディレクトリにあります。
~/.bashrcに追加:
unset MAILCHECK
このメッセージを無効にします。
もちろん、TJ Crowderが述べたように、単にメッセージを削除することも可能です:-)
答え3
SSHを介してRaspian(DebianベースのRaspberry Piディストリビューション)を使用してそれらを削除するには、/etc/pam.d/sshdで次の行をコメントアウトする必要がありました。
session optional pam_mail.so standard noenv # [1]
答え4
実行crontab -e
し、クローンジョブに出力を追加します。 1つのcronジョブに対してのみEメールを無効にするには、行の/dev/null
末尾に追加して出力をリダイレクトする必要があります。> /dev/null 2>&1
たとえば、
* * * * */5 /path/to/command arguments > /dev/null 2>&1