Shell script: source a.sh vs ./a.sh

./a.sh是在一个新的shell进程中执行的,而source a.sh是在当前shell进程中执行的。

例如:

# cat a.sh
#!/bin/sh

VAR=xxx
export VAR
# env | grep VAR
# ./a.sh
# env | grep VAR
# source a.sh
# env | grep VAR
VAR=xxx
参考

https://superuser.com/questions/176783/what-is-the-difference-between-executing-a-bash-script-vs-sourcing-it

你可能感兴趣的:(Shell script: source a.sh vs ./a.sh)