幻之纪元·网游先锋

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

文章目录1.命令简介2.命令格式3.选项说明4.返回值5.常用示例参考文献1.命令简介unset 删除指定的 Shell 变量或函数。

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

2.命令格式代码语言:javascript复制unset [-fv] [name ...]当不指定选项时,优先删除变量,如果失败则删除函数。

3.选项说明代码语言:javascript复制-f 将每个 name 当作函数。

-v 将每个 name 当作变量。4.返回值成功返回 0。

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

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

5.常用示例(1)删除变量。

代码语言:javascript复制hello="world"

echo $hello

world

unset hello

echo $hello(2)删除函数。

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

代码语言:javascript复制function now(){

echo -n "Now date time is: "

date +"%F %T"

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

代码语言:javascript复制now

Now date time is: 2023-01-26 20:41:40使用 unset 命令可以删除一个函数。

代码语言:javascript复制unset -f now再次调用时,now 已找不定定义。

代码语言:javascript复制now

bash: now: command not found(3)删除只读变量时将报错。

先定义一个只读变量 name。

代码语言:javascript复制declare -r name="foo"

$echo $name

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

代码语言:javascript复制unset name || echo $?

bash: unset: name: cannot unset: readonly variable

1