我有一个脚本 run.sh
位于只读目录 /install/app/release_1.0.0/
的某个位置,并且在完全访问的目录 /packages/app/
中有一个指向该脚本的符号链接(symbolic link)。此脚本使用相对路径对文件进行操作。当我使用符号链接(symbolic link)运行此脚本时,它无法定位文件,因为它正在符号链接(symbolic link)的当前目录中查找。如何强制它查看链接目标的当前目录?不建议更改脚本。
最佳答案
不要使用符号链接(symbolic link),而是使用包装器。删除 /packages/app/run.sh
并在该位置创建一个新文件,其中包含以下内容:
#!/bin/sh
cd /install/app/release_1.0.0/
./run.sh
将其标记为可执行 (
chmod +x run.sh
) 就可以了。关于linux - 按照符号链接(symbolic link)从当前目录运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11558565/