25

我的程序需要一个环境变量作为其参数之一的一部分:

myprogram --folder=$HOME/.special

但是,如果我将它放入 .desktop 文件的 exec 行,它就不起作用:

Exec=myprogram --folder=$HOME/.special

$HOME 似乎解决不了任何问题。

4

1 回答 1

37

默认情况下,似乎并非所有实现都解析环境变量,但是您可以改为 exec sh,这将解析传递的环境变量。请注意,桌面规范还要求您使用反斜杠转义 = 和 $ 字符。所以你要:

Exec=sh -c "myprogram --folder\=\$HOME/.special"

有关需要转义的字符的完整列表,请参阅规范

于 2012-01-24T00:21:29.357 回答