export简明理解

export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。简单说,export可发布变量到后续程序中。

举例:声明两个变量,并打印出来。

v1="hello"
v2="world"
echo $v1
echo $v2
输出:

admin@DESKTOP-4N13UR2:~$ echo $v1 $v2
hello world

用export输出变量 v1,在进入一个bash,查看变量v1和v2

admin@DESKTOP-4N13UR2:~$ v1="hello"
admin@DESKTOP-4N13UR2:~$ v2="world"
admin@DESKTOP-4N13UR2:~$ export v1
admin@DESKTOP-4N13UR2:~$ bash
admin@DESKTOP-4N13UR2:~$ echo $v1 $v2
hello

发现变量v2并没有被打印出来,因为在bash子程序中不知道由v2变量。

就好像公司总部下达子公司任命通知书后,你在下去到子公司才会有人认可你,如果子公司没有收到你的任命通知书,那没有人认可你是经理,export就好比那个下达通知书的动作。

同样在我们的执行脚本中,由于都是在bash子程序中运行的,所以如果用到系统变量,必须通过export给下达通知书。

如编写文件test.sh

v1="hello"
v2="world"
export v1
echo $v1 $v2
输出: hello

发现只有v1变量,因为我是用 bash test.sh 来执行脚本的,这时在bash子程序中运行的,而bash子程序只收到export发布的v1变量,故没有显示v2变量的值。

posted @ 2022-03-29 08:31  立体风  阅读(207)  评论(0编辑  收藏  举报