0

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

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

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

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

4

1 回答 1

0

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

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

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

于 2013-04-18T11:05:16.140 回答