1

我正在运行 linux 2.6。在 bash shell 上,我想获取一个文件。如果我在当前目录中作为源文件,那么我可以这样做

source abc.sh

但如果我在其他文件夹中,我会这样做

source /path-to/abc.sh

我想在我的脚本中捕获在命令行上的命令源之后键入的任何内容,因此,例如,我想访问“abc.sh”,在后一种情况下,我想访问“/path-to/ abc.sh" 在 abc.sh 中

谢谢

4

1 回答 1

4

您正在寻找$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中找到更多信息。

于 2012-07-24T15:10:12.273 回答