0x00 查看环境变量
查看环境变量有三个命令:
- env:env命令是environment的缩写,用于列出所有的环境变量
- export:单独使用export命令也可以像env列出所有的环境变量,不过export命令还有其他额外的功能
echo $PATH
:echo $PATH
用于列出变量PATH的值,里面包含了已添加的目录
0x01 设置环境变量
1.1 将路径加入到PATH
可以直接添加到环境变量PATH中。$PATH表示变量PATH的值,包含已有的目录。
这种方法需要注意路径的顺序,如果遇到有同名的命令,那么PATH里面哪个目录先被查询,则那个目录下的命令就会被先执行,如下所示:
1 | # 加到PATH末尾 |
1.2 命名一个新的环境变量
也可以直接命名一个新的环境变量,用于其它程序引用:
1 | export VAR_NAME=value |
0x02 作用域
2.1 作用于当前终端
打开一个终端,输入添加环境变量的语句:
1 | export CLASS_PATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib |
终端所添加的环境变量是临时的,只适用于当前终端,关闭当前终端或在另一个终端中,添加的环境变量无效。
2.2 作用于当前用户
如果只需要添加的环境变量对当前用户有效,可以写入用户主目录下的.bashrc文件:
1 | vim ~/.bashrc |
添加语句:
1 | export CLASS_PATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib |
注销或者重启可以使修改生效,如果要使添加的环境变量马上生效:
1 | source ~/.bashrc |
2.3 作用于所有用户
要使环境变量对所有用户有效,可以修改profile文件:
1 | sudo vim /etc/profile |
添加语句:
1 | export CLASS_PATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib |
注销或者重启可以使修改生效,如果要使添加的环境变量马上生效:
1 | source /etc/profile |
说明:
bash首先执行/etc/profile脚本,/etc/profile脚本先依次执行/etc/profile.d/*.sh
随后bash会执行用户主目录下的.bash_profile脚本,.bash_profile脚本会执行用户主目录下的.bashrc脚本,
而.bashrc脚本会执行/etc/bashrc脚本
至此,所有的环境变量和初始化设定都已经加载完成
bash随后调用terminfo和inputrc,完成终端属性和键盘映射的设定