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   

除非文件名包含空格,否则它工作正常。

因此,除非您要处理以下任一情况,否则您似乎可以不使用引号:

  • 包含空格的路径
  • 包含空格的文件名
  • 包含空格的命令行参数。

相关内容