In der EnvironmentFile habe ich:
EBUSD_OPTS="--scanconfig -d /dev/ttyEBUS -c /etc/ebusd --log=\"all notice\" --log=\"update error\""
In der Servicedatei:
EnvironmentFile=-/etc/default/ebusd
ExecStart=/usr/bin/ebusd $EBUSD_OPTS
Ich würde erwarten, dass die Anführungszeichen nach --log= unverändert an die ausführbare Datei übergeben werden, aber das scheint nicht zu funktionieren. Ich habe alle Arten von doppelten und einfachen Anführungszeichen, doppelte und dreifache Escape-Zeichen für die inneren Anführungszeichen, einfache äußere Anführungszeichen usw. ohne Erfolg ausprobiert.
Antwort1
Entfernen Sie die äußeren Anführungszeichen aus der EnvironmentFile
EBUSD_OPTS=--scanconfig -d /dev/ttyEBUS -c /etc/ebusd --log="all notice" --log="update error"
und fügen Sie in ExecStart Klammern hinzu.
ExecStart=/usr/bin/ebusd ${EBUSD_OPTS}
Ich musste auch nach der Klammer ein Leerzeichen einfügen.