如何查找命令调用路径

时间:2015-08-28 10:28:27

标签: bash shell

我已将脚本导出到PATH变量。因此,从任何地方,我都可以调用我的脚本,但我必须知道我在调用脚本的路径。

路径/home/raja/scps/shell/s1.sh

中的脚本
export PATH=$PATH:/home/raja/scps/shell/s1.sh.

我将运行脚本,如下所示:

第一个例子

root@raja-H97-D3H:/home/raja#s1.sh

我想知道路径:/home/raja

第二个例子

root@pmt-H97-D3H:/home/pmt/tmp/p1/p2#s1.sh

我想知道路径:/home/pmt/tmp/p1/p2

1 个答案:

答案 0 :(得分:3)

脚本调用的当前工作目录位于脚本内的PWD环境变量中。

考虑这个示例脚本:

#!/bin/bash

echo $PWD

将其添加到您的路径,并从任何目录调用它。 $PWD会有你想要的东西。

此:

root@raja-H97-D3H:/home/raja# s1.sh

输出/home/raja

此:

root@pmt-H97-D3H:/home/pmt/tmp/p1/p2# s1.sh

输出/home/pmt/tmp/p1/p2

此外,您要将带有脚本的目录添加到$PATH;不是脚本文件本身。你应该这样做:

export PATH=$PATH:/home/raja/scps/shell