6
我的程序需要一個環境變量,它的一個參數的一部分:如何在.desktop文件的exec行中訪問環境變量?
myprogram --folder=$HOME/.special
但是,如果我投入.desktop文件的exec行這一點,這是行不通的:
Exec=myprogram --folder=$HOME/.special
$ HOME似乎沒有任何結果。
我的程序需要一個環境變量,它的一個參數的一部分:如何在.desktop文件的exec行中訪問環境變量?
myprogram --folder=$HOME/.special
但是,如果我投入.desktop文件的exec行這一點,這是行不通的:
Exec=myprogram --folder=$HOME/.special
$ HOME似乎沒有任何結果。
默認情況下,環境變量似乎並沒有被所有的實現所解決,但是你可以改爲執行sh,它將解析傳遞的環境變量。請注意,桌面規範還要求您使用反斜槓來轉義=和$字符。所以,你想:
Exec=sh -c "myprogram --folder\=\$HOME/.special"
對於需要轉義字符的完整列表,請參閱the specification
當你的角色是在字符串中,你不需要逃避任何字符。 – ggg
我需要嘗試這個技巧,但我喜歡它。這是一個稍微更易讀的IMO規範,https://developer.gnome.org/desktop-entry-spec/#exec-variables。 – dragon788