前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 命令(249)—— unset 命令(builtin)

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

作者头像
恋喵大鲤鱼
发布2023-02-23 09:23:18
5360
发布2023-02-23 09:23:18
举报
文章被收录于专栏:C/C++基础

文章目录

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 1.命令简介
  • 2.命令格式
  • 3.选项说明
  • 4.返回值
  • 5.常用示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档