Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个由工具执行的 shell 脚本。当它由这个工具执行时,$PWD 的值由该工具设置。但是,当我手动执行脚本时 $PWD 的值是脚本的当前目录。
现在我使用这个 $PWD 环境变量在脚本中定位不同的文件位置。
但是当我手动执行它时,文件路径会发生变化,并且会产生意想不到的结果。
任何建议如何在手动或通过该工具执行脚本时处理 $PWD 值的这种变化?
如果您需要访问脚本本身所在的目录,可以在 bash 中使用
script_dir=$(readlink -f ${0%/*})
它获取脚本的相对路径 ( $0),切断脚本名称并将其转换为完整路径。
$0