linux环境变量设置,/etc/profile,/etc/bashrc和.bash_profile的区别(作用域)

  • Post author:
  • Post category:linux



/etc/profile:         设置系统环境参数,比如$PATH. 这里面的环境变量是对系统内所有用户生效的。

/etc/bashrc:        设置系统bash shell环境变量,对系统内所有用户生效。只要用户运行bash命令,文件设置的环境变量就起作用。

~/.bash_profile: 设置环境变量,功能和/etc/profile 类似,但是这个是针对用户来设定的,也就是说,在/home/user1/.bash_profile 中                                  设定了环境变量,那么这个环境变量只针对 user1 这个用户生效,

对其他用户无效。



注意:


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


~/.bash_profile 是交互式、login 方式进入 bash 运行的,只有用户登录时才会生效或者执行source命令。

~/.bashrc 是交互式 non-login 方式进入 bash 运行的,用户不一定登录,只要以该用户身份运行命令行就会读取该文件。