我已将脚本导出到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
答案 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