如题所述
这两者是不一样的:
set 显示当前shell的变量,包括当前用户的变量
env 显示当前用户的变量
每个shell都有自己特有的变量,这和用户变量是不同的。当前用户变量和你用什么shell无关,不管你用什么shell都是存在的。比如HOME,SHELL等这些变量,但shell自己的变量,不同的shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的。
这样表达应该清楚吧,可以说,env显示的内容是set显示内容的一个子集。
set 显示当前shell的变量,包括当前用户的变量
env 显示当前用户的变量
每个shell都有自己特有的变量,这和用户变量是不同的。当前用户变量和你用什么shell无关,不管你用什么shell都是存在的。比如HOME,SHELL等这些变量,但shell自己的变量,不同的shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的。
这样表达应该清楚吧,可以说,env显示的内容是set显示内容的一个子集。
温馨提示:答案为网友推荐,仅供参考