Passando aspas internas da variável EnvironmentFile para ExecStart

Passando aspas internas da variável EnvironmentFile para ExecStart

No EnvironmentFile eu tenho:

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

No arquivo .service:

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

Eu esperaria que as aspas após --log= fossem passadas inalteradas para o executável, mas isso não parece funcionar. Eu tentei todos os tipos de aspas duplas, simples, duplas, triplas escapando das aspas internas, aspas externas simples, etc., sem sucesso.

Responder1

Retire as aspas externas do EnvironmentFile

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

e adicione chaves no ExecStart.

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

Eu também tive que ter um espaço à direita após a chave.

informação relacionada