./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
./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