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

Один способ использовать GNU sed:

Содержание script.sed:

/^\\documentclass[^{]*{[^}]*}/ {
    a\
\\usepackage[utf8]{inputenc}\
\\usepackage[T1]{fontenc}\
\\usepackage{ngerman}
}

Выполните его как:

sed -s -i.bak -f script.sed foo*.tex

Я использую ^ соответствовать documentclass в начале строки. Удалите его, если у Вас могут быть пробелы перед ним.

-s переключатель рассматривает каждый вход как различный файл, и -i создает резервные копии с bak расширение.

0
05.05.2013, 06:04
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   

Это хорошо работает кроме того, если имя файла включает пробелы.

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

  • пути, который включает пробелы
  • имена файлов, которые включают пробелы
  • параметры командной строки, который включает пробелы.
0
28.01.2020, 05:02

Теги

Похожие вопросы