1. source
当前脚本调用另一个脚本变量
$ cat test1.sh#!/bin/basha=Hello Worldecho "test1:$a"
$ cat test2.sh#!/bin/bash/root/test1.shecho " test2:$a"
[root@centos ~]# sh test2.shtest1:Hello Worldtest2:
从结果可以看出test1.sh没有把变量a的值传递给test2.sh
我们把test2.sh改成:
#!/bin/bashsource /root/test1.shecho "test2:$a"
[root@centos ~]# sh test2.shtest1:Hello Worldtest2:Hello World
2. export
当前脚本(第二者脚本)中执行第三者脚本用到第一者脚本中的变量
$ cat test3.sh#!/bin/bashecho "test3:$a"
把test2.sh改成:
#!/bin/bashsource /root/test1.shecho "test2:$a"/root/test3.sh
执行test2.sh:
[root@shenji ~]# sh test2.shtest1:Hello Worldtest2:Hello Worldtest3:
将test1.sh改成:
#!/bin/bashexport aaa=Hello Worldecho "test1:$a"
执行test2.sh后有如下结果:
$ sh test2.shtest1:Hello Worldtest2:Hello Worldtest3:Hello World
Comments