共计 2217 个字符,预计需要花费 6 分钟才能阅读完成。
这篇文章主要介绍“linux 中环境变量配置在什么文件”,在日常操作中,相信很多人在 linux 中环境变量配置在什么文件问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux 中环境变量配置在什么文件”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!
linux 中包含环境变量的配置文件有多个:1、“/etc/profile”文件,该文件配置的环境变量将应用于登录到系统的每一个用户;2、“/etc/bashrc”,修改该文件配置的环境变量将会影响所有用户使用的 bash shell;3、“/etc/environment”,该文件包含与系统运行相关但与用户无关的环境变量;4、“~/.profile”;5、“~/.bashrc”。
本教程操作环境:linux7.3 系统、Dell G3 电脑。
一、环境变量介绍:
在 Linux 系统中,环境变量按照其作用范围不同大致可以分为系统级环境变量和用户级环境变量。
系统级环境变量:每一个登录到系统的用户都能够读取到系统级的环境变量;
用户级环境变量:每一个登录到系统的用户只能够读取属于自己的用户级的环境变量;
自然而然地,环境变量的配置文件也相应的被分成了系统级和用户级两种。
二、系统级:
1、/etc/profile
在系统启动后第一个用户登录时运行,并从 /etc/profile.d 目录的配置文件中搜集 shell 的设置,使用该文件配置的环境变量将应用于登录到系统的每一个用户。
提示:在 Linux 系统中,使用以下命令可以使配置文件立刻生效。
source /etc/profile
echo $PATH
2、/etc/bashrc(Ubuntu 和 Debian 中是 /etc/bash.bashrc)
在 bash shell 打开时运行,修改该文件配置的环境变量将会影响所有用户使用的 bash shell。
注意:这里的 bash shell 有不同的类别,不同的类别所使用的环境变量配置文件也有所不同。
一般情况下,非登录 shell 不会执行任何 profile 文件,非交互 shell 模式不会执行任何 bashrc 文件。
3、/etc/environment
在系统启动时运行,用于配置与系统运行相关但与用户无关的环境变量,修改该文件配置的环境变量将影响全局。
三、用户级:
1、~/.profile(推荐首选)
~/.profile: executed by Bourne-compatible login shells.
当用户登录时执行,每个用户都可以使用该文件来配置专属于自己使用的 shell 信息。
2、~/.bashrc
~/.bashrc: executed by bash(1) for non-login shells.
当用户登录时以及每次打开新的 shell 时该文件都将被读取,不推荐在这里配置用户专用的环境变量,因为每开一个 shell,该文件都会被读取一次,效率肯定受影响。
生效用:source
bashrc 和 profile 的差异
从上面的英文描述可以知道,bashrc 和 profile 的差异在于:
注意:通常我们修改 bashrc, 有些 linux 的发行版本不一定有 profile 这个文件;
1. bashrc 是在系统启动后就会自动运行。
2. profile 是在用户登录后才会运行。
3. 进行设置后,可运用 source bashrc 命令更新 bashrc,也可运用 source profile 命令更新 profile。
4. /etc/profile 中设定的变量 (全局) 的可以作用于任何用户,而~/.bashrc 等中设定的变量 (局部) 只能继承 /etc/profile 中的变量,他们是 父子 关系。
3、~/.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;
如果两个文件都存在的话,Bash 将会优先执行~/.bash_profile 而不是~/.bash_login;
然而, 默认情况下,这些文件不会影响图形会话。
4、~/.bash_logout
当每次退出系统 (退出 bash shell) 时执行该文件。
注意:Linux 系统使用 $VARIABLE_NAME 访问环境变量,多个环境变量之间使用“:”分隔,Windows 系统使用 %VARIABLE_NAME% 访问环境变量,多个环境变量之间使用 ; 分隔。
到此,关于“linux 中环境变量配置在什么文件”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!