Передача внутренних кавычек из переменной 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}
Я также должен был иметь пробел после скобки.