Shell环境变量set、env、export

Shell 的环境变量分为两种:

set:可以显示和设置shell私有变量,仅在本 shell 中有效。不同shell(bash、csh)私有变量不同。

env:可以显示和设置用户环境变量 ,仅在当前会话中有效。

另外set 变量可以通过 export 工具导入到 env 变量中:

export:显示或设置当前导出成用户变量的shell变量。

区别

两种变量不同之处在于变量的作用域不同,env 变量的作用域更大,它可以被所有shell使用。

也就是说,set 变量里包含了 env 变量,但 set 变量不一定都是 env 变量。

 示例

_SET="var_set"    # 设定一个shell变量_SET

echo $_SET        # 查看是否成为shell私有变量
var_set

set | grep "var_set"    
_SET=var_set

env | grep "var_set"    # 没有结果,说明变量_SET不在env用户环境变量中

export _SET            	# export导出变量_SET到env中

env | grep "var_set"    # 再查看,变量_SET已经存在env中
_SET=var_set

export | grep _SET      # 查看export中的变量
declare -x _SET="var_set"

清除set变量

unset _SET

set | grep "var_set"        # 取消后不存在_SET
export | grep "var_set"     # 取消后不存在
env | grep "var_set"        # 取消后不存在

设置只读变量

readonly _SET

_SET="set_var"   # 不能被修改
-bash: _SET: readonly variable

unset _SET       # 不能被清除
-bash: unset: _SET: cannot unset: readonly variable

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

訾零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值