作者:闺蜜好我会明白 | 来源:互联网 | 2024-10-18 17:09
在shell中,若某一变量需要在随后的子程序中运行,则需要以 export
来使变量变成环境变量: export var
export的用法总结:
1:一个shell中用export定义的变量,只对当前shell以及它的子shell有效,不会对其父shell有效。[下面的这个示例有点儿乱,如果你理解这句话的话可以不看]
lxw 23:51:20:~$ echo $var # A shell
lxw 23:51:57:~$ bash # B shell
lxw 23:53:09:~$ echo $var
lxw 23:53:12:~$ var="Hello World"
lxw 23:53:20:~$ echo $var
Hello World
lxw 23:53:23:~$ export var
lxw 23:53:27:~$ echo $var #当前shell(B shell)中有效
Hello World
lxw 23:53:31:~$ bash # C shell
lxw 23:53:38:~$ echo $var #子shell(C shell)中有效
Hello World
lxw 23:53:43:~$ exit
exit
lxw 23:53:55:~$ echo $var # B shell
Hello World
lxw 23:53:58:~$ exit
exit
lxw 23:54:12:~$ echo $var #父shell(A shell)中无效
lxw 23:54:18:~$
2:不用export定义的变量只对该shell有效,对子shell也是无效的。
lxw 23:47:59:~$ echo $var
lxw 23:48:11:~$ var="Hello World"
lxw 23:48:28:~$ echo $var
Hello World
lxw 23:48:30:~$ bash
lxw 23:49:18:~$ echo $var #未使用export,子shell中无效
lxw 23:49:21:~$ exit
exit
lxw 23:49:24:~$ echo $var
Hello World
lxw 23:49:27:~$