Linux中set,env和export这三个命令的区别
我们提供的服务有:成都网站制作、成都网站设计、外贸营销网站建设、微信公众号开发、网站优化、网站认证、隆安ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的隆安网站制作公司
set命令显示当前shell的变量,包括当前用户的变量;
env命令显示当前用户的变量;
export命令显示当前导出成用户变量的shell变量。
每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如HOME,SHELL等这些变量,
但shell自己的变量不同shell是不同的,比如BASH_ARGC,
BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变
量可以通过export “导出”变成一个用户变量。
env --- 显示/设置当前用户变量
用户变量存在于所有的shell中,与用什么shell无关,比如:HOME,SHELL等
export --- 设置当前终端有效的临时变量
显示/设置当前导出成用户变量的shell变量。《Linux就该这么学》 一起学习。
终端关闭的同时,export的变量也失效。
这两者是不一样的:
set 显示当前shell的变量,包括当前用户的变量
env 显示当前用户的变量
每个shell都有自己特有的变量,这和用户变量是不同的。当前用户变量和你用什么shell无关,不管你用什么shell都是存在的。比如HOME,SHELL等这些变量,但shell自己的变量,不同的shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的。
这样表达应该清楚吧,可以说,env显示的内容是set显示内容的一个子集。