SymLink 仅在同一目录中有效

SymLink 仅在同一目录中有效
user@laptop ~ $ sudo ln -s ~/Games/JA/openjk.i386 ~/Desktop/JA
user@laptop ~ $ readlink -f ~/Desktop/JA
/home/user/Games/JA/openjk.i386

如您所见,符号链接指向文件,但当我尝试单击它时,它不起作用。但是,如果我将 JA 符号链接放在与其链接到的文件相同的目录中(在本例中~/Games/JA),它就可以正常工作。如何让它在该目录之外工作(Desktop例如在中)?

答案1

问题肯定是,二进制文件openjk.i386肯定期望其目录中有一些文件。但二进制文件假设其目录是~/Desktop/,但找不到所需的文件。

我建议使用非常小的脚本而不是符号链接。例如它应该看起来像这样:

#!/bin/sh
cd /pathToBinary/
./binary $@

将文件命名为 JA 并使用 使其可执行chmod a+x JA

解释:保证$@如果您的脚本以任何参数启动,它们将被转发到真正的二进制文件。

相关内容