用bash调用脚本的时候会创建一个和自己一模一样的shell子进程来执行这个外部命令。这个子进程中设置了自己的运行的环境变量。而在此时,父进程的环境变量并没有改变
用source来执行脚本的时候,不会创建子进程,而是在父进程中直接执行。所以当需要程序修改当前shell本身的环境变量的时候,使用source命令
加载运行config配置文件用source命令配置主进程环境信息
source test.sh == . test.sh
bash test.sh == ./test.sh
用bash调用脚本的时候会创建一个和自己一模一样的shell子进程来执行这个外部命令。这个子进程中设置了自己的运行的环境变量。而在此时,父进程的环境变量并没有改变
用source来执行脚本的时候,不会创建子进程,而是在父进程中直接执行。所以当需要程序修改当前shell本身的环境变量的时候,使用source命令
加载运行config配置文件用source命令配置主进程环境信息
source test.sh == . test.sh
bash test.sh == ./test.sh