1.export修饰的变量
export修饰的变量是可以被其他进程访问该变量的。例如
/root/a.sh
#!/bin/bash
a=11111111111
echo "this is a.sh------"$a
sh /root/b.sh
/root/b.sh
#!/bin/bash
echo "this is b.sh----------"$a
实际结果输出是
this is a.sh------11111111111
this is b.sh----------
当给a变量加上export后,b.sh就能打印出a变量。通过sh调用的b.sh脚本和a.sh脚本不是在同一个进程里面运行。
2.source调用其他脚本
将a.sh更改下
#!/bin/bash
a=11111111111
echo "this is a.sh------"$a
source /root/b.sh
这次变量a没有加export,b.sh中也能打印出变量a的值。这是因为source调用的sh脚本是使调用的b.sh直接在a.sh进程运行。
3.通过.调用其他脚本
例如:
#!/bin/bash
a=11111111111
echo "this is a.sh------"$a
. /root/b.sh
通过.调用b.sh脚本,作用和使用source调用相同