环境变量
环境变量的设置
使用export命令
export age=18
# 查看当前环境
export -p
环境变量查询
使用set可以查看所有变量,使用env只能查看环境变量
set
env
环境变量删除
使用unset来删除环境变量
#删除age环境变量
unset age
PATH变量
系统查找命令是查的PATH变量中所定义的路径
echo $PATH
/Users/zhanghe/.nvm/versions/node/v14.7.0/bin:/usr/local/Cellar/flume/1.9.0_1/libexec/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/zhanghe/Desktop/user/apache-maven-3.6.3/bin:/Users/zhanghe/Desktop/user/scala-2.13.3/bin
每一个路径使用":"来分隔
这个分隔不同的shell是不一样的,在Bash中使用冒号分隔,而在Tesh中使用空格分隔
可以使用 echo $SHELL 命令来查看当前shell
所以可以通过拼接PATH变量来使得命令变成系统命令
环境变量配置文件
linux系统生效的配置文件有五个
对所有用户生效
-
/etc/profile 登录时自动执行 -
/etc/profile.d/*.sh -
/etc/bashrc
对当前用户生效
-
~/.bash_profile 登录时自动执行 -
~/.bashrc shell登录时自动执行
调用过程
graph LR;
A["/etc/profile"]
B["~/.bash_profile"]
C["~/.bashrc"]
D["/etc/bashrc"]
E["/etc/profile.d/*.sh"]
F["/etc/profile.d/lang.sh"]
G["/etc/sysconfig/il18"]
H[命令提示符]
A-->B-->C-->D
D-->H
D-->E
A-->E
E-->F-->G
下面以配置java环境变量为例
配置java环境变量
找到用户根目录
# -a是为了找到当前路径下的所有文件,包括隐藏文件
ls -a
找到.bash_profile,linux下使用.bash_profile来配置环境变量的
vim .bash_profile
编辑该文件
export PATH=$PATH:/java/jdk1.8/bin
linux多个路径之间使用冒号(:)来分隔,$PATH是用于引用之前的PATH变量值
保存文件之后,执行该命令使PATH生效
source .bash_profile