当我打开终端时,它显示“您有邮件”,有人知道为什么吗?我运行的是 OS X,但由于它也是基于 Unix 并依赖于 bashrc、bash_profile 等文件。我想这里有人可能知道,但我不确定这是一个特定于平台的问题!
答案1
听起来好像有什么东西使用本地邮件交换器在计算机上发送了邮件(并向计算机发送邮件)。该电子邮件很可能是来自某些已安装软件包的自动消息。登录后,mail
在终端上键入内容以阅读并(可能)删除相关邮件。 (在里面mail
,使用?
找出命令是什么。)一旦您阅读或删除了任何未读邮件,您将不会再次看到“您有邮件”消息,直到/除非其他东西以相同的方式发送邮件。一旦您知道邮件的发送内容,您就可以找到一个配置选项来更改邮件的发送目的地。
答案2
这是一个“平台特定问题”:-)
Mac OS X 使用以下命令作为默认 shell重击与许多其他 Un*x/Linux 系统一样。
来自您系统的邮件存储在您用户的邮箱中,通常位于/var/mail/$user
因为有时您的邮箱会包含重要消息(失败的 cronjob 任务等),您不必每次都亲自检查它。
BASH(和许多其他 shell)有一个称为邮件检查的功能,它会在您第一次打开终端时输出您的消息。
$MAILCHECK 是一个环境变量,其中包含检查新邮件的秒数。在显示主要提示之前还会检查邮件。查看更多内容Bash 参考手册 -MAILCHECK
。
要阻止检查新邮件,您只需取消设置 $MAILCHECK 即可。正确的位置是您的 .bashrc 文件,当您打开 shell 时将读取该文件。它位于您的用户主目录中。
追加到~/.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
并将输出添加到您的 cron 作业。如果您只想禁用一个 cron 作业的电子邮件,则需要通过在行末尾/dev/null
添加来重定向其输出。> /dev/null 2>&1
例如:
* * * * */5 /path/to/command arguments > /dev/null 2>&1