添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

我们在使用操作系统的时候,会了解到系统中的 set 命令的主要作用或者说是大部分作用就是显示系统中已经存在的 shell 变量,以及设置 shell 变量的新变量值。使用 set 更改 shell 特性时,符号 + - 的作用分别是关闭和打开指定的模式。 set 命令不能够定义新的 shell 变量,如果要定义新的变量,可以使用 declare 命令以变量名 = 值的格式进行定义即可。

使用 declare 命令定义一个新的环境变量 tools

# 定义新环境变量
$ declare tools='VScode'

再使用set命令将新定义的变量输出为环境变量。

# 设置为环境变量
$ set -a tools

执行该命令后,将会新添加对应的环境变量。用户可以使用env命令和grep命令分别显示和搜索环境变量 tools

# 显示环境变量值
$ env | grep tools

此时,该命令执行后,将输出查询到的环境变量值。

使用 set/env/export 的区别

[escape@localhost ~]$ name="EscapeWen"
[escape@localhost ~]$ echo $name
EscapeWen
# 设置完当前用户变量并没有对应的值
[escape@localhost ~]$ env | grep name
# 设置完成后shell变量有对应的值
[escape@localhost ~]$ set | grep name
EscapeWen
# 对应的值,使用export也没导出
[escape@localhost ~]$ export| grep name
# 使用expor导出一下,在用户变量就可以找到了
[escape@localhost ~]$ export aaa
[escape@localhost ~]$ env | grep aaa
EscapeWen

使用注意事项

可以使用unset命令来清除环境变量,注意set、env、export设置的变量,都可以用unset来清除的。

# 删除环境变量TEST
[escape@localhost ~]$ export TEST="Test"
[escape@localhost ~]$ unset $TEST

使用readonly命令,设置只读变量。

# 将环境变量TEST设为只读
[escape@localhost ~]$ export TEST="Test"
[escape@localhost ~]$ readonly TEST
        Mr_Ma
        Vue.js
      
私信
1,385