系统环境变量

系统环境变量

环境变量设置方法:

  1. /etc/profile文件中添加变量,此方法是对所有用户永久生效的:export HISTFILESIZE=10000
  2. 在用户目录下的/root/.bash_profile文件中增加变量,此方法是针对单一用户永久生效的
  3. 直接在终端运行export命令定义变量,此方法是是针对当前BASH临时生效的,退出之后就失效了

环境变量相关配置文件

  1. /etc/profile,/etc/bashrc 是用于系统全局环境变量
  2. ~/.profile,~/.bashrc 是用于设置指定用户的私有环境变量
  3. /etc/profile这个文件对每个shell及所有用户都有效,当用户第一次登录时,该文件就被执行,当被修改时,必须重启才会生效
  4. /etc/profile.d/ 可以理解为是/etc/profile的一部分,只不过按类别或功能拆分成若干个文件进行配置
  5. /etc/bashrc 这个文件当用户运行bash shell时被执行,当被修改后,不用重启只需要打开一个新的 bash 即可生效
  6. /etc/environment是系统的环境变量,/etc/profile是所有用户的环境变量,前者与登录用户无关,后者与登录用户有关,当同一变量在两个文件里有冲突时,以用户环境为准
  7. ~/.bash_profile 文件是当前用户的私有环境信息配置文件,用户登录时执行一次,默认情况是用于设置环境变量并执行当前用户的 .bashrc 文件(注意:Centos7系统命名为.bash_profile,其他系统可能是.bash_login或.profile)
  8. ~/.bash_logout 文件在每次退出bash shell时执行,可以把一些清理工作的命令放进这个文件

系统环境变量读取优先级:

  1. 系统首先寻找 /etc/profile 脚本文件并执行,然后根据其内容读取额外的设定的文档,如 /etc/profile.d
  2. 然后根据不同使用者帐号,去其根目录读取~/.bash_profile(在这个文件中有执行.bashrc的脚本,.bashrc脚本里会去调用/etc/bashrc文件),如果这读取不了就读取~/.bash_login,这个也读取不了才会读取 ~/.profile
  3. 在退出shell时,还会执行~/.bash_logout文件

因此用户主目录下文件的执行的顺序为:~/.bash_profile->~/.bash_login->~/.profile
系统执行文件顺序为:
/etc/profile->(~/.bash_profile | ~/.bash_login | ~/.profile)->.bashrc->/etc/bashrc->~/.bash_logout

posted @ 2023-06-26 15:08  liuyang9643  阅读(40)  评论(0编辑  收藏  举报