Linux 中的 bash_profile,bashrc 以及 profile 联系与区别

/etc/profile,/etc/bashrc,~/.bash_profile,~/.bashrc 文件的区别和特点比较容易混淆,这里先分别介绍其功能特点:

/etc/profile:用来设置系统环境参数,比如$PATH. 这里面的环境变量是对系统内所有用户生效的;
/etc/bashrc:这个文件设置系统 bash shell 相关的东西,对系统内所有用户生效。只要用户运行 bash 命令,那么这里面的东西就在起作用;
~/.bash_profile:用来设置一些环境变量,功能和 /etc/profile 类似,但是这个是针对当前用户来设定的;
~/.bashrc:作用类似于 /etc/bashrc,只是针对用户自己而言,不对其他用户生效。

/etc/* 和 ~/.* 联系与区别

  1. /etc/profile,/etc/bashrc 是系统全局环境变量设定;
  2. ~/.bash_profile,~/.bashrc 是用户家目录下的私有环境变量设定。

~/.bash_profile 与 ~/.bashrc 的区别:

  1. 都具有个性化定制功能;
  2. ~/.bash_profile 可以设定本用户专有的路径,环境变量等,它只在登入的时候执行一次。是交互式、login 方式进入 bash 运行的,意思是只有用户登录时才会生效,此文件类似于 /etc/profile,也是需要需要重启才会生效;
  3. ~/.bashrc 也是某用户专有设定文档,可以设定路径,命令别名,每次 shell script 的执行都会使用它一次,是交互式 non-login 方式进入 bash 运行的,用户不一定登录,只要以该用户身份运行命令行或者每次打开新的 shell 时就会读取该文件。

你可能感兴趣的:(Linux)