set env export区别

旧城冷巷雨未停 提交于 2020-04-04 05:38:05

set env export区别

set,env和export这三个命令都可以用来显示shell变量,区别
[root@localhost root]# aaa=bbb
[root@localhost root]# echo $aaa
bbb
[root@localhost root]# set |grep aaa
aaa=bbb
[root@localhost root]# env |grep aaa
[root@localhost root]# export aaa
[root@localhost root]# env |grep aaa
aaa=bbb
set 显示当前shell的变量,包括当前用户的变量
env显示当前用户的变量
export: 显示当前导出成用户变量的shell变量每 个shell都有自己特有的变量,这和用户变量是不同的。当前用户变量和你用什么shell无关,不管你用什么shell都是存在的。比如 HOME,SHELL等这些变量,但shell自己的变量,不同的shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的。export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变 量可以通过export “导出”变成一个用户变量。

declare -x var=abc   is equivalent to the following:
export var=abc
It is a bash specific feature, not portable

======================================

对于QShell而言,

env:显示环境变量,包括系统环境变量和用户环境变量

set:显示当前shell本身所使用的一些内部变量(shell变量),如UID, GID,PS1=$等,同时也显示所有env中包含的变量

export:显示当前导出成用户环境变量的shell变量

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!