Необходимо ли использовать кавычки в KDE4 ServiceMenus?

Необходимо ли использовать кавычки в KDE4 ServiceMenus?

В Exec=строке сервисного меню в kde4 я обычно использую:

Exec=command %f

Поэтому я задаюсь вопросом, нужно ли цитировать %f, не уверен, как KDE4 анализирует файл меню, т.е.

Exec=command "%f"

решение1

Я нашел несколько тем, где люди включали кавычки вокруг аргументов в Exec=строках. Я считаю, что они вам нужны, если аргументы, с которыми вы имеете дело, включают пробелы.

Например, эта тема называется:Основы написания сценариев оболочки.. как пересылать двойные кавычки ??.

выдержка

Я пытаюсь сделать запись servicemenu в 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   

Работает нормально, за исключением случаев, когда имя файла содержит пробелы.

Таким образом, похоже, что можно обойтись без кавычек, если только вы не имеете дело с:

  • пути, включающие пробелы
  • имена файлов, содержащие пробелы
  • аргументы командной строки, содержащие пробелы.

Связанный контент