我有一个由工具执行的shell脚本。 当它由此工具执行时,$ PWD的值由该工具设置。 但是当我手动执行脚本时,$ PWD的值是脚本的当前目录。
现在我正在使用这个$ PWD环境变量在脚本中找到不同的文件位置。
但是当我手动执行它时,文件路径会发生变化并产生意外结果。
有任何建议如何在手动或通过该工具执行脚本时如何处理$ PWD的值?
答案 0 :(得分:0)
如果您需要访问脚本本身所在的目录,请在bash中使用
script_dir=$(readlink -f ${0%/*})
它采用脚本的相对路径($0
),切断脚本名称并将其转换为完整路径。