File tree Expand file tree Collapse file tree 1 file changed +78
-17
lines changed
Expand file tree Collapse file tree 1 file changed +78
-17
lines changed Original file line number Diff line number Diff line change 11unset
22===
33
4- 删除指定的shell变量或函数
4+ 删除指定的shell变量或函数。
55
6- ## 补充说明
7-
8- ** unset命令** 用于删除已定义的shell变量(包括环境变量)和shell函数。unset命令不能够删除具有只读属性的shell变量和环境变量。
9-
10- ### 语法
6+ ## 概要
117
128``` shell
13- unset(选项)(参数)
9+ unset [-f] [-v] [-n] [name ...]
1410```
1511
16- ### 选项
12+ ## 主要用途
13+
14+ - 删除一到多个shell变量(不包括只读变量)。
15+ - 删除一到多个shell函数。
16+ - 删除一到多个具有引用属性的变量(如果-n选项存在)。
17+
18+ ## 选项
1719
1820``` shell
19- -f:仅删除函数;
20- -v:仅删除变量。
21+ -f:仅删除函数。
22+ -v:仅删除变量(不包括只读变量)。
23+ -n:删除具有引用属性的变量名(如果该选项存在)。
2124```
2225
23- ### 参数
26+ ## 参数
2427
25- shell变量或函数:指定要删除的shell变量或shell函数 。
28+ name(可选):要删除的变量或函数 。
2629
27- ### 实例
30+ ## 返回值
2831
29- 使用unset命令将前面所创建的环境变量mylove及其对应的值进行删除,输入如下命令:
32+ 返回成功除非选项错误或要删除的变量或函数有只读属性。
3033
34+ ## 例子
35+
36+ ``` shell
37+ # 删除变量。
38+ declare paper_size=' B5'
39+ unset -v paper_size
40+ ```
3141``` shell
32- unset -v mylove # 删除指定的环境变量
42+ # 删除函数。
43+ function show_result(){ echo ' Last Command Return: $?' ; }
44+ unset -f show_result
3345```
46+ ``` shell
47+ # 当不指定选项时,优先删除变量,如果失败则删除函数。
48+ declare -i aa=100
49+ function aa(){ echo ' aa' ; }
50+ unset aa
51+ # 变量'aa'已被删除。
52+ declare -p aa
53+ # 函数'aa'存在。
54+ declare -F| grep aa
55+ ```
56+ ``` shell
57+ # 演示unset使用-n选项,name指定了引用变量时的情况。
58+ declare a=3
59+ # 定义引用变量
60+ declare -n b=a
61+ # 查看属性,显示declare -n b="a"
62+ declare -p b
63+ # 显示3
64+ echo ${b}
65+ # 显示a
66+ echo ${! b}
67+ # 指定-n选项时
68+ unset -n b
69+ # 引用变量b已被删除
70+ declare -p b
71+ # 被引用的变量a未被删除
72+ declare -p a
73+ ```
74+
75+ ``` shell
76+ # 演示unset不使用-n选项,name指定了引用变量时的情况。
77+ declare a=3
78+ # 定义引用变量
79+ declare -n b=a
80+ # 查看属性,显示declare -n b="a"
81+ declare -p b
82+ # 显示3
83+ echo ${b}
84+ # 显示a
85+ echo ${! b}
86+ # 不指定-n选项时
87+ unset b
88+ # 引用变量b未被删除,显示declare -n b="a"
89+ declare -p b
90+ # 被引用的变量a被删除
91+ declare -p a
92+ ```
93+
94+ ### 注意
3495
35- 执行以上命令后,系统将删除指定的环境变量。用户可以使用env命令和grep命令对其进行查询。已经删除的环境变量再次使用指令查询时,将出现查询不到指定环境变量的输出信息 。
96+ 1 . 该命令是bash内建命令,相关的帮助信息请查看 ` help ` 命令 。
3697
3798
38- <!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
99+ <!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
You can’t perform that action at this time.
0 commit comments