在Linux系统中,环境变量根据其作用范围不同大致可以分为系统级环境变量和用户级环境变量。
自然而然地,环境变量的配置文件也相应的被分成了系统级和用户级两种。
系统级
/etc/profile
在系统启动后第一个用户登入时运行,并从/etc/profile.d目录的配置文件中搜集shell的设置linux 配置文件 环境变量,使用该文件配置的环境变量将应用于登陆到系统的每一个用户。
提示:在Linux系统中,使用以下命令可以使配置文件立即生效。
source /etc/profile echo $PATH
/etc/bashrc(Ubuntu和Debian中是/etc/bash.bashrc)
在bashshell打开时运行,更改该文件配置的环境变量将会影响所有用户使用的bashshell。
注意:这儿的bashshell有不同的类别,不同的类别所使用的环境变量配置文件也有所不同。通常情况下,非登陆shell不会执行任何profile文件,非交互shell模式不会执行任何bashrc文件。
# 登录shell和非登陆shell: 登录shell # 需要输入用户密码,例如 ssh 登录或者 su - 命令提权都会启动login shell模式 非登陆shell # 无需输入用户密码; # 交互shell和非交互shell: 交互shell # 提供命令提示符等待用户输入命令的是交互shell模式 非交互shell # 直接运行脚本文件是非交互shell模式
/etc/environment
在系统启动时运行,用于配置与系统运行相关但与用户无关的环境变量,更改该文件配置的环境变量将影响全局。
用户级
~/.profile(推荐首选)
当用户登入时执行,每位用户都可以使用该文件来配置专属于自己使用的shell信息。
~/.bashrc
当用户登入时以及每次打开新的shell时该文件都将被读取,不推荐在这儿配置用户专用的环境变量,由于每开一个shelllinux 配置文件 环境变量,该文件就会被读取一次,效率肯定受影响。
~/.bash_profile或~./bash_login
~/.bash_profile or ~./bash_login - If one of these file exist, bash executes it rather then "~/.profile" when it is started as a login shell. (Bash will prefer "~/.bash_profile" to "~/.bash_login"). However, these files won"t influence a graphical session by default.
以上是ubuntu官网给出的关于~/.bash_profile和~./bash_login的说明,翻译为英文:
~/.bash_profile或~./bash_login-
假如有其中的一个文件存在的话,当启动的是一个登陆shell时,Bash会执行该文件而不会执行~/.profile;
假如两个文件都存在的话linux 输入法,Bash将会优先执行~/.bash_profile而不是~/.bash_login;
但是,默认情况下,这种文件不会影响图形会话
~/.bash_logout
当每次退出系统(退出bashshell)时执行该文件。
注意:Linux系统使用$VARIABLE_NAME访问环境变量,多个环境变量之间使用:分隔,Windows系统使用%VARIABLE_NAME%访问环境变量LINUX社区,多个环境变量之间使用;分隔。
通常情况下,Linux加载环境变量配置文件的执行次序为:
==> /etc/profile ==> ~/.bash_profile | ~/.bash_login | ~/.profile ==> ~/.bashrc ==> /etc/bashrc ==> ~/.bash_logout
到此这篇关于探讨Linux环境变量文件介绍的文章就介绍到这了,更多相关Linux环境变量文件内容请搜索云海天教程原先的文章或继续浏览下边的相关文章希望你们之后多多支持云海天教程!