Передача внутренних кавычек из переменной EnvironmentFile в ExecStart

В EnvironmentFile у меня есть:

EBUSD_OPTS="--scanconfig -d /dev/ttyEBUS -c /etc/ebusd --log=\"all notice\" --log=\"update error\""

В файле.service:

EnvironmentFile=-/etc/default/ebusd
ExecStart=/usr/bin/ebusd $EBUSD_OPTS

Я ожидаю, что кавычки после --log= будут переданы в неизменяемом виде в исполняемый файл, но это, похоже, не работает. Я пробовал все типы двойных, одинарных кавычек, двойных, тройных экранирующих внутренних кавычек, одинарных внешних кавычек и т. Д., Но безуспешно.

1 ответ

Возьмите внешние цитаты из EnvironmentFile

EBUSD_OPTS=--scanconfig -d /dev/ttyEBUS -c /etc/ebusd --log="all notice" --log="update error"

и добавить фигурные скобки в ExecStart.

ExecStart=/usr/bin/ebusd ${EBUSD_OPTS} 

Я также должен был иметь пробел после скобки.

Другие вопросы по тегам