![在 ubuntu 启动器上的相对路径上执行 shell](https://linux22.com/image/1166158/%E5%9C%A8%20ubuntu%20%E5%90%AF%E5%8A%A8%E5%99%A8%E4%B8%8A%E7%9A%84%E7%9B%B8%E5%AF%B9%E8%B7%AF%E5%BE%84%E4%B8%8A%E6%89%A7%E8%A1%8C%20shell.png)
我已经创建了这个执行 shell 的启动器:
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Exec=/full/path/server.sh
Name=MServer
Comment=foo
Icon=gnome-sudoku
我需要它来执行相对路径,因为我不知道完整路径:
Exec=server.sh
但是上面的相对路径代码不起作用。我怎样才能从相对路径执行?
答案1
这邮政@FedonKadifeli 建议帮助我。
可能的解决方案是:
Exec=sh -e -c "exec \\"\\$(dirname \\"\\$0\\")/.sh/server.sh\\";$SHELL" %k
解释命令:
下面的代码片段将获取执行该命令的目录名称,因此获取启动器目录名称
$(dirname \\"\\$0\\")
因此,附加所需的路径将使其执行相对路径。