Bash配置文件

Bash的配置文件分为全局的配置文件和用户配置文件。全局配置文件是/etc/profile,用户配置文件在用户目录下,主要有~/.profile和~/.bashrc。可能还会有~/.bash_profile 或 ~/.bash_login,这两个文件默认是不存在的,如果用户自己创建了,就会被读取。这两个文件是为了满足其他 shell 转换过来的使用者的习惯而已,最好不要创建它们。

当Bash登陆的时候,会首先读取/etc/profile,然后读取当前用户目录下的~/.profile,而~/.profile又会调用~/.bashrc。如果~/.bash_profile 或 ~/.bash_login存在,则不会~/.profile,它们三个中只会读取一个。

还有一种non-login shell的情况,这种情况只会读取~/.bashrc。

non-login shell:取得 bash 接口的方法不需要重复登陆的举动,举例来说,(1)你以 X window 登陆 Linux 后, 再以 X 的图形化接口启动终端机,此时那个终端接口并没有需要再次的输入帐号与密码,那个 bash 的环境就称为 non-login shell了。(2)你在原本的 bash 环境下再次下达 bash 这个指令,同样的也没有输入帐号密码, 那第二个 bash (子程序) 也是 non-login shell 。

总结

如果要添加环境变量,修改PATH,修改命令别名等操作,最好在~/.bashrc中修改。尽量不要去修改/etc/profile。