set、env、export差分
set: 显示当前shell变量,用户变量包含当前用户 env:显示用户变量 export: 显示当前导出成用户变量的shell变量 举例来说: root@kali:~# aaa=bbb 设置一个变量,此时设置的变量为shell变量 root@kali:~# echo $aaa 显示刚刚设置的变量 bbb root@kali:~# set|grep aaa 显示并搜索当前的shell变量。找到刚刚设置的aaa变量 aaa=bbb root@kali:~# env |grep aaa 显示并搜索当前登录用户的变量,由于aaa是shell变量。所以搜索不到 root@kali:~# export aaa 将aaa这个shell变量导出成用户变量 root@kali:~# env |grep aaa 这个时候搜索用户变量就能够搜索出aaa aaa=bbb root@kali:~# 每一个shell都有自己特有的变量,这和用户变量是不同的。当前用户变量和你用什么shell无关。无论你用什么shell都是存在的。比方HOME,SHELL等这些变量,但shell也有自己的变量,不同的shell是不同的,比方BASH_ARGC。 BASH等。这些变量仅仅有set才会显示,是bash特有的。export不加參数的时候,显示哪些变量被导出成了用户变量,由于一个shell自己的变量能够通过export