KDE4 ServiceMenus 中是否需要使用引號?

KDE4 ServiceMenus 中是否需要使用引號?

Exec=在kde4 的服務選單行中,我通常使用:

Exec=command %f

所以我想知道,是否有必要引用%f,不確定 KDE4 如何解析選單文件,即

Exec=command "%f"

答案1

我發現了幾個線程,人們在行中的參數周圍添加了引號Exec=。我相信如果您正在處理的參數包含空格,您就需要它們。

例如這個帖子的標題是:shell腳本基礎..如何轉發雙引號?

摘抄

我正在嘗試將服務選單條目設定為 kde 我選擇的 unrar:s 檔案。我將其放入 servicemenu 檔案中:

Exec=/usr/bin/extract 1 %U

在 /usr/bin/extract 中我有:

if [ $1 = "1" ]; then
    unrar e "$2"
fi  
if [ $1 = "2" ]; then
    unrar x "$2"
fi   

除非檔案名稱包含空格,否則它工作正常。

因此,除非您要處理以下任一情況,否則您似乎可以不使用引號:

  • 包含空格的路徑
  • 包含空格的檔名
  • 包含空格的命令列參數。

相關內容