nit*_*ian 1 linux shell scripting
我有两个shell脚本a.sh并b.sh在我的主目录中.在a.sh中我调用b.sh as
sh b.sh
Run Code Online (Sandbox Code Playgroud)
我也可以通过以下方式完成
. b.sh
Run Code Online (Sandbox Code Playgroud)
请告诉我调用之间的区别.
谢谢,LinuxPenseur
第一种方式:
sh b.sh
Run Code Online (Sandbox Code Playgroud)
创建子shell并在子shell中运行b.sh. 这样做的一个后果是,当你返回到a.sh时,b.sh中设置的任何环境变量都会消失
第二种方法:
. ./b.sh
Run Code Online (Sandbox Code Playgroud)
来源b.sh因此当b.sh返回时,b.sh中设置的任何env变量将对a.sh保持可见.