可以禁用“你有新的邮件在/ var / mail / root”?

我想在FreeBSD 9.1中禁用mailcheck。 我的loginshell是BASH,所以我试图添加

unset MAILCHECK 

/root/.bashrc/root/.profile ,但我仍然得到这些消息。

有没有办法摆脱这些消息?

除了Dennis的回答,FreeBSD还为defaultlogin类中的所有用户设置了MAIL环境variables。 这在/etc/login.conf

你可以用几种方法来改变它:

  1. 编辑/etc/login.conf并从setenv行删除MAIL=/var/mail/$ 。 然后,您需要运行cap_mkdb /etc/login.conf来编译login数据库。

  2. 创build一个适用于您或一组用户的新login类。 通过使用pw usermod <username> -L <class>来为每个用户设置。

  3. 创build一个特定于用户的~/.login.conf 。 这个文件应该有一个叫me的logging。 这可以覆盖全局设置的一个子集。 同样,这个文件需要用cap_mkdb进行编译。

有关loginfunction数据库的更多信息,请参阅login.conf(5)

这些消息可能是定期报告。 在/etc/periodic.conf设置daily_show_success=NO是很常见的,所以它不会生成“all's good”消息。 此外,应该将daily_output="$destination"设置为您的电子邮件地址或您可以监控的日志文件。 同样可以设置为weekly_weekly_ – 可能应该是。

您可以通过启动mail删除这些maild *删除所有消息,并退出。

禁用邮件检查通常是一个错误。 如果守护进程configuration不正确,无法将邮件传递到本地根目录,则需要知道,如果禁用邮件检查,则可能有重要的说明,并且您将错过这些邮件。

这应该照顾这个消息的根login。 如果您以其他用户身份login,则需要将其添加到要禁用的每个用户的~/.bashrc中。 或者你可以把它放在中央启动文件: /etc/profile以使其对所有用户都有效。

您需要检查MAILCHECK是否在启动文件序列的稍后时间点被覆盖未覆盖的unset

请注意,启动文件处理如下(从Bash手册 )(强调我的):

作为交互式loginshell或使用–login进行调用

当Bash作为交互式loginshell或者作为具有–login选项的非交互式shell调用时,如果该文件存在 ,它将首先从文件/ etc / profile中读取并执行命令。 读取该文件后, 它将按照该顺序查找〜/ .bash_profile,〜/ .bash_login和〜/ .profile,并从第一个存在并读取的第一个中读取和执行命令 。 当shell开始禁止这种行为时,可以使用–noprofile选项。

当loginshell退出时,Bash从文件〜/ .bash_logout中读取并执行命令(如果存在)。 调用为交互式非loginshell

当一个不是loginshell的交互式shell被启动时,如果该文件存在,Bash将读取并执行〜/ .bashrc中的命令。 这可以通过使用–norc选项来禁止。 –rcfile文件选项将强制Bash从文件而不是〜/ .bashrc中读取和执行命令。

所以,通常你的〜/ .bash_profile包含这行

如果[-f〜/ .bashrc]; 然后 。 的〜/ .bashrc; 科幻

之后(或之前)任何login特定的初始化。

编辑文件/etc/crontab并将MAILTO=root改为MAILTO=""

资料来源: http : //michaelprogramming.blogspot.com/2014/01/disable-you-have-new-mail-in.html