端末を開くと「メールがあります」というメッセージが表示されますが、誰もがその理由を知っていますか?私はOS Xを実行していますが、これもUnixに基づいており、bashrc、bash_profileなどのファイルに依存しているため、ここの誰かが知っていると思いましたが、プラットフォーム固有の問題かどうかはわかりません!
ローカルメールエクスチェンジャーを使用して、マシン上で(およびマシンに)メールが送信されたようです。ほとんどの場合、メールはインストールされたパッケージからの自動メッセージです。ログインしたら、ターミナルでmail
と入力して、関連するメールを読んで(おそらく)削除します。 (mail
の中では、?
コマンドを確認します。)未読メールを読んだり削除したりすると、他のユーザーが同じ方法でメールを送信するまで、「メールがあります」というメッセージは表示されません。メールの送信先がわかったら、設定オプションを探して、メールの送信先を変更できます。
これは「プラットフォーム固有の問題」です:-)
Mac OS Xは他の多くのUn * x/Linuxシステムと同様に、デフォルトのシェルとして [〜#〜] bash [〜#〜] を使用します。
システムからのメールは、ユーザーのメールボックスに格納され、多くの場合/var/mail/$user
にあります
メールボックスには重要なメッセージ(失敗したcronjobタスクなど)が含まれることがあるので、毎回自分でチェックする必要はありません。
BASH(および他の多くのシェル)にはmailcheckと呼ばれる機能があり、端末を初めて開いたときにメッセージを出力します。
$ MAILCHECKは、新しいメールをチェックする時間を秒で含む環境変数です。プライマリプロンプトを表示する前にメールもチェックされます。詳細については、man bash
- Bash Variables を参照してください。
新着メールのチェックを防ぐには、$ MAILCHECKの設定を解除します。これに適した場所は.bashrcファイルで、シェルを開いたときに読み取られます。ユーザーのホームディレクトリにあります。
〜/ .bashrcに追加:
unset MAILCHECK
メッセージを無効にします。
もちろん、T.J。のようなメールを単に削除することも可能です。言及されたクラウダー:-)
SSH経由でRaspian(Raspberry Pi用のDebianベースのディストリビューション)を使用して、/ etc/pam.d/sshdの次の行をコメント化して削除しました。
session optional pam_mail.so standard noenv # [1]
私はDebianでsheevaplugを持っています。報告された行に#を挿入してコメントし、問題を解決しました。
Debianで編集するファイル:
/etc/pam.d/sshd
ファイルにコメントする行:
session optional pam_mail.so standard noenv # [1]
crontab -e
を実行し、cronジョブに出力を追加します。 1つのcronジョブについてのみメールを無効にする場合は、行の最後に/dev/null
を追加して、その出力を> /dev/null 2>&1
にリダイレクトする必要があります。
例えば:
* * * * */5 /path/to/command arguments > /dev/null 2>&1