source 命令会在当前 shell 中执行,而 bash 会创建一个新的 shell 会话。
001、
(base) root@DESKTOP-A31BQ38:/home/test2# ls test.sh (base) root@DESKTOP-A31BQ38:/home/test2# cat test.sh ## 测试脚本 #!/bin/bash echo $SHELL echo $a (base) root@DESKTOP-A31BQ38:/home/test2# a=100 (base) root@DESKTOP-A31BQ38:/home/test2# bash test.sh ## bash并不会输出变量a /bin/bash (base) root@DESKTOP-A31BQ38:/home/test2# source test.sh ## source可以输出变量a /bin/bash 100 (base) root@DESKTOP-A31BQ38:/home/test2# . test.sh ## .代替source /bin/bash 100