
В 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
Работает нормально, за исключением случаев, когда имя файла содержит пробелы.
Таким образом, похоже, что можно обойтись без кавычек, если только вы не имеете дело с:
- пути, включающие пробелы
- имена файлов, содержащие пробелы
- аргументы командной строки, содержащие пробелы.