Linux bash知道包含库脚本的脚本路径

Linux bash know the script path which includes library script

本问题已经有最佳答案,请猛点这里访问。

我有一个名为a的库脚本和一个名为b,c的脚本,其中包括a和

1
. ../../../A

问题是A如何知道我运行./B.sh./C.sh的时间,例如:

1
2
3
4
if(run ./B.sh)
   echo"B (file path) is calling"
else
   echo"C (file path) is calling"

您可以使用$0来确定执行的命令:

A.sh:

1
echo $0

B.sh:

1
. ./A.sh

运行时:

1
2
3
4
$ sh B.sh
B.sh
$ sh A.sh
A.sh

它只提供已执行的命令,而不提供参数:

1
2
$ sh B.sh one two three
B.sh