环境变量分类:
按生命周期分:
永久的:在环境变量脚本文件中配置,用户每次登录时会自动执行这些脚本,相当于永久生效。
临时的:用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效。
按作用域分:
系统环境变量:公共的,对全部的用户都生效。
用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效。
1、查看环境变量
1)env命令
用env命令的时候,满屏显示了很多环境变量,不方便查看,可以用grep筛选。
env|grep 环境变量名
例如查看环境变量名中包含PATH的环境变量。
env|grep PATH
设置环境变量:
临时设置环境变量
-
使用export命令
export命令用于在当前shell会话中设置或导出环境变量。设置的环境变量对当前会话及其启动的子进程有效,但对新的会话无效。export VARNAME="value"
例如,要设置JAVA_HOME环境变量,你可以使用:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
2.永久设置环境变量
- 修改~/.bashrc(对于bash用户)
对于bash shell用户,~/.bashrc文件在每次启动一个新的bash会话时都会被读取和执行。因此,你可以将export命令添加到这个文件的末尾来永久设置环境变量。
编辑~/.bashrc文件,添加如下行:
export VARNAME="value"
保存文件后,为了让更改立即生效,你可以执行source ~/.bashrc命令,或者简单地重新登录或开启一个新的bash会话。
-
修改/.bash_profile或/.profile(对于bash用户)
这些文件也用于设置环境变量,但与~/.bashrc的主要区别在于,它们通常在登录时由系统读取(而非每次启动新的bash会话时)。如果你希望环境变量在登录时就被设置,可以将export命令添加到这些文件中。 -
修改/etc/environment(对所有用户有效)
对于需要在系统上所有用户登录时都设置的环境变量,可以编辑/etc/environment文件。但是,请注意,这个文件只接受KEY=value形式的行,而不支持像export这样的命令。sudo nano /etc/environment
-
修改/etc/profile或/etc/profile.d/目录下的脚本(对所有用户有效)
/etc/profile文件是一个全局配置文件,它会在所有用户的bash登录shell被初始化时执行。另外,/etc/profile.d/目录下的任何以.sh结尾的脚本也会被自动执行。因此,你可以通过在这两个位置之一添加自定义脚本来设置环境变量,这会对所有用户生效。
编辑/etc/profile或创建/etc/profile.d/下的一个新脚本,并添加适当的export命令。
请根据你的具体需求(临时还是永久)选择适合的方法来设置环境变量。