unset

unset

删除指定的shell变量或函数。

概要

unset [-f] [-v] [-n] [name ...]

主要用途

  • 删除一到多个shell变量(不包括只读变量)。
  • 删除一到多个shell函数。
  • 删除一到多个具有引用属性的变量(如果-n选项存在)。

选项

-f:仅删除函数。
-v:仅删除变量(不包括只读变量)。
-n:删除具有引用属性的变量名(如果该选项存在)。

参数

name(可选):要删除的变量或函数。

返回值

返回成功除非选项错误或要删除的变量或函数有只读属性。

例子

# 删除变量。
declare paper_size='B5'
unset -v paper_size
# 删除函数。
function show_result(){ echo 'Last Command Return: $?'; }
unset -f show_result
# 当不指定选项时,优先删除变量,如果失败则删除函数。
declare -i aa=100
function aa(){ echo 'aa'; }
unset aa
# 变量'aa'已被删除。
declare -p aa
# 函数'aa'存在。
declare -F|grep aa
# 演示unset使用-n选项,name指定了引用变量时的情况。
declare a=3
# 定义引用变量
declare -n b=a
# 查看属性,显示declare -n b="a"
declare -p b
# 显示3
echo ${b}
# 显示a
echo ${!b}
# 指定-n选项时
unset -n b
# 引用变量b已被删除
declare -p b
# 被引用的变量a未被删除
declare -p a
# 演示unset不使用-n选项,name指定了引用变量时的情况。
declare a=3
# 定义引用变量
declare -n b=a
# 查看属性,显示declare -n b="a"
declare -p b
# 显示3
echo ${b}
# 显示a
echo ${!b}
# 不指定-n选项时
unset b
# 引用变量b未被删除,显示declare -n b="a"
declare -p b
# 被引用的变量a被删除
declare -p a

注意

  1. 该命令是bash内建命令,相关的帮助信息请查看help命令。

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/unset/

(0)
AuroraAurora站点维系者
上一篇 2024年 3月 11日 下午6:37
下一篇 2024年 3月 11日 下午6:37

相关推荐

  • mkswap

    文章目录mkswap补充说明语法选项参数实例 mkswap 建立和设置SWAP交换分区 补充说明 mkswap命令 用于在一个文件或者设备上建立交换分区。在建立完之后要使用sawp…

    入门教程 2024年 1月 3日
  • fsck

    文章目录fsck补充说明语法选项参数实例 fsck fsck(英文全拼:file system check)命令检查并且试图修复文件系统中的错误 补充说明 fsck命令 被用于检查…

    入门教程 2023年 12月 14日
  • lftpget

    文章目录lftpget补充说明语法选项参数 lftpget 调用lftp指令下载指定的文件 补充说明 lftpget命令 通过调用lftp指令下载指定的文件。 语法 lftpget…

    入门教程 2023年 12月 19日
  • xauth

    文章目录xauth补充说明语法选项参数 xauth 显示和编辑被用于连接X服务器的认证信息 补充说明 xauth命令 用于显示和编辑被用于连接X服务器的认证信息。 语法 xauth…

    入门教程 2024年 3月 11日
  • partprobe

    文章目录partprobe补充说明语法选项参数实例 partprobe 不重启的情况下重读分区 补充说明 partprobe命令 用于重读分区表,当出现删除文件后,出现仍然占用空间…

    入门教程 2024年 3月 1日
  • iconv

    文章目录iconv补充说明语法选项实例 iconv 转换文件的编码方式 补充说明 iconv命令 是用来转换文件的编码方式的,比如它可以将UTF8编码的转换成GB18030的编码,…

    入门教程 2023年 12月 19日
  • usernetctl

    文章目录usernetctl补充说明语法参数 usernetctl 被允许时操作指定的网络接口 补充说明 usernetctl命令 在用于被允许时操作指定的网络接口。 语法 use…

    入门教程 2024年 3月 11日
  • at

    文章目录at补充说明语法选项参数实例 at 在指定时间执行一个任务 补充说明 at命令 用于在指定时间执行命令。at允许使用一套相当复杂的指定时间的方法。它能够接受在当天的hh:m…

    入门教程 2023年 12月 6日
  • uupick

    文章目录uupick补充说明语法选项例子 uupick 命令处理传送进来的文件 补充说明 uupick命令 处理传送进来的文件。 当其他主机通过UUCP将文件传送进来时,可利用uu…

    入门教程 2024年 3月 11日
  • comm

    文章目录comm概要主要用途选项返回值例子比较排序过的文档交集差集注意 comm 按行比较两个已排序的文件。 概要 comm [OPTION]… FILE1 FILE2 主要用…

    入门教程 2023年 12月 7日

发表回复

登录后才能评论
Translate »