如何在源之后捕获命令行参数

时间:2012-07-24 15:06:49

标签: linux bash

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

source abc.sh

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

source /path-to/abc.sh

我想捕获脚本中命令行上命令源之后输入的内容,例如,我希望访问" abc.sh"在后一种情况下,我想访问" /path-to/abc.sh"在abc.sh内部

谢谢

1 个答案:

答案 0 :(得分: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中找到更多信息。