如何处理shell脚本中$ PWD值的变化?

时间:2013-04-18 09:56:14

标签: linux shell

我有一个由工具执行的shell脚本。 当它由此工具执行时,$ PWD的值由该工具设置。 但是当我手动执行脚本时,$ PWD的值是脚本的当前目录。

现在我正在使用这个$ PWD环境变量在脚本中找到不同的文件位置。

但是当我手动执行它时,文件路径会发生变化并产生意外结果。

有任何建议如何在手动或通过该工具执行脚本时如何处理$ PWD的值?

1 个答案:

答案 0 :(得分:0)

如果您需要访问脚本本身所在的目录,请在bash中使用

script_dir=$(readlink -f ${0%/*})

它采用脚本的相对路径($0),切断脚本名称并将其转换为完整路径。