Linux环境变量set、env、export的区别

set、env、export这三个命令都可以用来显示shell变量;

set:显示当前shell的变量,包括当前用户的变量
env:显示当前用户的变量
export:显示当前导出成用户变量的shell变量

[root@localhost root]# a=test //设置当前shell变量
[root@localhost root]# echo $a
test
[root@localhost root]# set |grep a //获取当前shell变量
a=test
[root@localhost root]# env |grep a //获取当前用户变量
[root@localhost root]# export a //导入到当前用户变量
[root@localhost root]# env |grep a //获取当前用户变量
a=test

每个shell都有自己特有的变量,这和用户变量是不同的。当前用户变量和你用什么shell无 关,不管你用什么shell都是存在的。比如HOME,SHELL等这些变量,但shell自己的变量,不同的shell是不同的,比如 BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的。export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变 量可以通过export “导出”变成一个用户变量。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>