2315

12 分钟

#Bash 的 unset 命令

unset [OPTION]... [NAME]...

功能

删除变量。

类型

Bash 内置命令。

参数

  • OPTION 选项:
    • -f - 只删除函数
    • -v - 只删除普通变量
    • -n - 只删除引用
  • NAME - 要删除的变量名称列表

#示例

删除变量和函数

$ NAME=primers                  # 定义普通变量
$ NAME() { echo primers; }      # 定义同名的函数
$ echo $NAME                    # 查看变量
primers
$ NAME                          # 调用函数
primers
$ unset NAME                    # 默认删除第一个,可以用 `-f` 或 `-v` 指定删除哪个
$ echo $NAME                    # 变量没了

$ NAME                          # 函数还在
hello

删除引用

$ real_var="primers"            # 定义普通变量
$ declare -n ref_var=real_var   # 定义引用变量
$ echo $ref_var                 # 查看引用变量
primers
$ unset ref_var                 # 默认会删除被引用的 real_var
$ echo $real_var                # 源变量没了

$ echo $ref_var                 # rev_var 引用 real_var 也没有值

$ real_var="primers"            # 重新创建 real_var
$ echo $ref_var                 # ref_var 仍然引用 real_var
primers
$ unset -n ref_var              # 删除引用
$ echo $ref_var                 # 查看引用

$ echo $real_var                # 源变量还在
primers

#相关命令

命令说明
declare定义变量和函数

#手册

更新: 2026/4/15

作者: PlanC

创建: 2026/4/15