Linux 系统中能够设置环境变量的命令有如下几种:
set — 该命令能够设置或者取消设置 Shell 变量。当不带参数使用 set 命令时,它将打印出包括环境变量与 Shell 变量在内的全部变量以及 Shell 函数的列表。
unset — 该命令能够删除 Shell 变量以及环境变量。
export — 该命令能够设置环境变量。
为了更好地理解 Shell 变量和环境变量之间的区别,咱们先从设置 Shell 变量开始讲,而后再讲环境变量。
先从在当前会话中定义一个 Shell 变量开始:
$ MYVAR=lxlinux
你能够用 echo $MYVAR 来验证变量是否已设置:
$ echo $MYVAR
lxlinux
使用 printenv 命令检验该变量是否为环境变量:
$ printenv MYVAR
没有输出返回,这就意味着 MYVAR 变量并非环境变量。
export 命令能够用来设置环境变量。要建立环境变量,只需用 export 命令将 Shell 变量导出为环境变量:
$ export MYVAR
你能够用如下语句检验:
$ printenv MYVAR
lxlinux
固然,你也能够只用一行代码来设置环境变量:
$ export MYNEWVAR="My New Variable"
可是以这种方式建立的环境变量只能用于当前会话,若是你打开一个新的 Shell 会话,或者退出登录,全部的变量都将会丢失。
咱们也能够将环境变量还原为 Shell 变量,或者将其彻底删除:
MYVAR 变量被定义为环境变量,咱们能够经过输入如下代码将其还原为 Shell 变量:
$ export -n MYVAR
这样,MYVAR 变量就再也不是环境变量了,但依然仍是 Shell 变量。
不管是 Shell 变量仍是环境变量,想要彻底删除变量,均可以使用 unset 命令来删除:
$ unset MYVAR
能够经过如下语句来验证 MYVAR 变量已经删除:
$ echo $MYVAR
因为变量已经删除了,因此没有任何返回。
环境变量的持久化
许多程序都须要使用环境变量来决定具体的执行方式,可是,咱们并不但愿每次启动新的 Shell 会话时都必须从新设置重要的变量,所以咱们须要将重要的环境变量写
本文分享自微信公众号 - 软件测试大咖经验分享(gh_8a6f5732cffa)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。linux