我有一个简单的脚本,它通过 wine 运行一个带有参数(即myScript.sh
= ~/some/path/someProgram.exe someArg
)的 Windows 程序。当我从其自己的目录运行它时,它运行良好:
cd ~/some/path
./myScript.sh
但是如果我尝试从其他地方运行它:
cd /home/me
./some/path/myScript.sh
因为如何在不同的目录中执行脚本?我认为这可能会有用:
/home/me/some/path/myScript.sh
但是,如果我除了从目录运行脚本之外执行其他操作,脚本(或由此产生的 Wine 调用)就会失败。有没有办法从其他地方调用脚本而不破坏它?
PS 这不是权限问题:该脚本对所有用户都具有可执行权限。
答案1
cd
我发现了一个草率的解决方案:我通过明确调用我的脚本然后wine
明确使用来运行可执行文件来使事情正常工作:
cd ~/some/path
wine someProgram.exe someArg
但是似乎应该有某种方法可以让它工作而无需明确调用cd
,我会接受任何解释它的答案。我不会接受这个,因为它没有真正回答我最初的问题(因为它确实没有真正cd
“从其他地方”运行东西)。