bash配置文件启动文件在哪里?


8

我知道您可以在主文件夹中有一个.profile.bashrc文件来自定义Mac OS X 10.6.4 Terminal bash启动。

每次我启动Terminal时,都会有一行告诉我“您有邮件”。我试图找到这条线在我的启动文件规定,但无法找到.bash也没有.profile,也没有.bashrc在我的主文件夹。

我还阅读到全局设置文件位于/etc/profile和中/etc/bashrc,但是它们似乎没有告诉我任何事情:

/ etc / profile

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
        [ -r /etc/bashrc ] && . /etc/bashrc
fi

/ etc / bashrc

# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
   return
fi

PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize

顺便说一句,没有 /etc/bash

有任何想法吗?谢谢!

Answers:


11

这可能无法回答邮件问题,但是这里有一些有关启动文件的信息。

您是否在Finder中搜索文件?确保从终端搜索并使用,ls -A以便显示隐藏文件(以'开头的文件.)。

以下来自《 Bash参考指南》。它描述了在OS X(这是一个交互式登录外壳程序)中启动新的终端窗口时执行的启动文件。

6.2 Bash启动文件

本节介绍Bash如何执行其启动文件。如果存在任何文件但无法读取,则Bash报告错误。如上在“ Tilde扩展”下所述,Tildes的文件名被扩展(请参见第3.5.2节[Tilde扩展],第19页)。

交互式外壳在第6.3节“交互式外壳”(第75页)中进行了描述。

作为交互式登录shell或使用“ --login”调用

当Bash作为交互式登录shell或带有--login选项的非交互式shell被调用时,它首先从文件读取并执行命令/etc/profile(如果该文件存在)。读取文件后,它会查找~/.bash_profile~/.bash_login以及~/.profile以该顺序,并读取并从存在并且可读的第一个执行命令。--noprofile启动外壳程序以禁止此行为时,可以使用该选项。

当退出登录外壳程序时,Bash从文件“〜/ .bash_logout”(如果存在)中读取并执行命令。


4

该特定行(You have mail)实际上不是bash启动的一部分,而是一条警报,提示您计算机上的本地帐户由于某种原因收到了邮件。

您可以使用该方法mail从以下位置阅读和删除消息,也可以仅删除消息(很可能是反弹或从开发中删除的消息)/var/mail/username


4

此通知由环境变量配置MAILCHECK。查看man bash并搜索MAILCHECK(按/并键入MAILCHECK以在手册页中搜索)。

以下是相关摘录:

 邮件检查
              指定bash检查邮件的频率(以秒为单位)。的
              默认值为60秒。当需要检查邮件时,
              shell在显示主提示之前会这样做。如果这
              变量未设置,或设置为非数字值
              大于或等于零,shell将禁用邮件检查。

要验证是否确实设置了此变量,请运行 echo $MAILCHECK

要禁用此通知,请将以下行添加到您的 ~/.bashrc

未设置邮件检查
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.