我正在运行 linux 2.6。在 bash shell 上,我想获取一个文件。如果我在当前目录中作为源文件,那么我可以这样做
source abc.sh
但如果我在其他文件夹中,我会这样做
source /path-to/abc.sh
我想在我的脚本中捕获在命令行上的命令源之后键入的任何内容,因此,例如,我想访问“abc.sh”,在后一种情况下,我想访问“/path-to/ abc.sh" 在 abc.sh 中
谢谢
您正在寻找$BASH_SOURCE
包含当前处理的脚本的变量。
例如,如果/tmp/a.sh
是:
echo $BASH_SOURCE
然后:
$ cd /tmp
$ . a.sh
a.sh
$ . /tmp/a.sh
/tmp/a.sh
$ . ../tmp/a.sh
../tmp/a.sh
您可以在info bash中找到更多信息。