linux 中 bash 和 source在执行shell脚本时的区别

发布时间 2023-05-07 00:21:30作者: 小鲨鱼2018

 

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