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

 

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

 

posted @ 2023-05-07 00:17  小鲨鱼2018  阅读(141)  评论(0编辑  收藏  举报