我正在运行linux 2.6。在bash shell上,我想要一个文件来源。如果我在当前目录中作为源文件,那么我可以做
source abc.sh
但如果我在其他文件夹上,我会这样
source /path-to/abc.sh
我想捕获脚本中命令行上命令源之后输入的内容,例如,我希望访问" abc.sh"在后一种情况下,我想访问" /path-to/abc.sh"在abc.sh内部
谢谢
答案 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中找到更多信息。