Linux 命令(249)—— unset 命令(builtin)

Posted 恋喵大鲤鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 命令(249)—— unset 命令(builtin)相关的知识,希望对你有一定的参考价值。

文章目录

1.命令简介

unset 删除指定的 Shell 变量或函数。

注意,unset 不能删除具有只读属性的 Shell 变量和环境变量。

2.命令格式

unset [-fv] [name ...]

当不指定选项时,优先删除变量,如果失败则删除函数。

3.选项说明

-f 将每个 name 当作函数。
-v 将每个 name 当作变量。

4.返回值

成功返回 0。

如果 name 为只读,则退出状态码为 1。

如果选项错误则退出状态码为 2。

5.常用示例

(1)删除变量。

hello="world"
echo $hello
world

unset hello
echo $hello

(2)删除函数。

下面是一个多行函数的例子,显示当前日期时间。

function now()
  echo -n "Now date time is: "
  date +"%F %T"

调用函数,打印当前日期与时间。

now
Now date time is: 2023-01-26 20:41:40

使用 unset 命令可以删除一个函数。

unset -f now

再次调用时,now 已找不定定义。

now
bash: now: command not found

(3)删除只读变量时将报错。

先定义一个只读变量 name。

declare -r name="foo"
$echo $name
foo

使用 unset 删除只读变量将报错并返回失败(1)。

unset name || echo $?
bash: unset: name: cannot unset: readonly variable
1

参考文献

unset(1) - Linux manual page - linux.org

以上是关于Linux 命令(249)—— unset 命令(builtin)的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令之删除变量unset

Linux命令——set 和 unset

unset命令

linux查看和修改PATH环境变量的方法

006_设置执行命令提示和unset shell function

linux命令练习:脚本实现硬盘分区功能