.bash_profile 还是 .bashrc

  2013-05-06 00:00:00 CST

  Jingwen Peng

  Linux

ScreenShot

配一些环境的时候,到底修改哪个文件一直困扰着我,修改两个文件效果似乎是一样的。 下面来看看详细说明,一目了然。

/etc/profile:系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从 /etc/profile.d 目录的配置文件中搜集 shell 的设置。

/etc/bashrc:每一个运行 bash shell 的用户执行此文件。当 bash shell 被打开时,该文件被读取。

~/.bashrc:该文件包含专用于你的 bash shell 的 bash 信息,当登录时以及每次打开新的 shell 时,该文件被读取。

~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的 shell 信息,当用户登录时,该文件仅仅执行一次。默认情况下,他设置一些环境变量,执行用户的 .bashrc 文件。

~/.bash_logout:当每次退出系统 (退出 bash shell) 时,执行该文件。

另外,/etc/profile 中设定的变量 (全局) 的可以作用于任何用户,而 ~/.bashrc 等中设定的变量 (局部) 只能继承 /etc/profile 中的变量,他们是 “父子” 关系。

~/.bashrc 是交互式 non-login 方式进入 bash 运行的。 ~/.bash_profile 是交互式 login 方式进入 bash 运行的。

通常二者设置大致相同,所以通常后者会调用前者。

如果您有疑问或建议,请在下方评论区域留言

遵循 BY-NC-ND 协议

评论功能加载中...