$0 是脚本名称。

$0 是脚本名称。

source test.sh 返回的是bash
sh 或者是 bash test.sh 返回的是脚本名称。
bash "test.sh" 这种形式启动时 ,$0才被设置成文件名。

source是bash的内建命令,把文件读取到当前bash中执行,相当于在当前bash手动输入命令,所以$0是bash.
原文地址:https://www.cnblogs.com/sparkbj/p/5955565.html