让脚本自动进入文件管理器目录

让脚本自动进入文件管理器目录

如何让脚本检测它在图形文件管理器中的运行位置?例如,我想通过在 Nautilus 中双击运行 Wine 目录中的 Windows 程序,但 Wine 无法加载 DLL 文件,因为它没有将文件管理器的打开文件夹视为当前工作目录。它假设它是从我的主目录运行的。

为了清楚起见编辑:

在这个例子中,我并没有试图检测我正在运行的 wine 可执行文件在哪里。假设在我的文件管理器中我已经/home/test-directory/win打开并且我正在尝试运行/home/test-directory/win/testprogram.exe.

我正在寻找一种将 Wine 命令包装在 shell 脚本中的方法,这样我就可以在/home/test-directory/win尝试在testprogram.exe.如果我在,我希望它在运行之前/home/other-directory/win自动更改为。/home/other-directory/win

答案1

为了将脚本的工作目录更改为脚本所在的目录,您可以使用以下构造:

#!/bin/sh

cd "$(dirname "$0")"

# Wine command(s) here

这将获取您启动的脚本的目录,并在执行 Wine 命令之前将其更改为该目录。

相关内容