unset
刪除指定的shell變量或函數。
概要
1unset [-f] [-v] [-n] [name ...]
主要用途
- 刪除一到多個shell變量(不包括只讀變量)。
- 刪除一到多個shell函數。
- 刪除一到多個具有引用屬性的變量(如果-n選項存在)。
選項
1-f:僅刪除函數。
2-v:僅刪除變量(不包括只讀變量)。
3-n:刪除具有引用屬性的變量名(如果該選項存在)。
參數
name(可選):要刪除的變量或函數。
返回值
返回成功除非選項錯誤或要刪除的變量或函數有隻讀屬性。
例子
1# 刪除變量。
2declare paper_size='B5'
3unset -v paper_size
1# 刪除函數。
2function show_result(){ echo 'Last Command Return: $?'; }
3unset -f show_result
1# 當不指定選項時,優先刪除變量,如果失敗則刪除函數。
2declare -i aa=100
3function aa(){ echo 'aa'; }
4unset aa
5# 變量'aa'已被刪除。
6declare -p aa
7# 函數'aa'存在。
8declare -F|grep aa
1# 演示unset使用-n選項,name指定了引用變量時的情況。
2declare a=3
3# 定義引用變量
4declare -n b=a
5# 查看屬性,顯示declare -n b="a"
6declare -p b
7# 顯示3
8echo ${b}
9# 顯示a
10echo ${!b}
11# 指定-n選項時
12unset -n b
13# 引用變量b已被刪除
14declare -p b
15# 被引用的變量a未被刪除
16declare -p a
1# 演示unset不使用-n選項,name指定了引用變量時的情況。
2declare a=3
3# 定義引用變量
4declare -n b=a
5# 查看屬性,顯示declare -n b="a"
6declare -p b
7# 顯示3
8echo ${b}
9# 顯示a
10echo ${!b}
11# 不指定-n選項時
12unset b
13# 引用變量b未被刪除,顯示declare -n b="a"
14declare -p b
15# 被引用的變量a被刪除
16declare -p a
注意
- 該命令是bash內建命令,相關的幫助信息請查看
help
命令。
來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。