Ve skutečném příkazu nelze použít proměnné. systemd.service:
Příkaz, který se má provést, musí být absolutní název cesty. Může obsahovat mezery, ale řídicí znaky nejsou povoleny.
Možná to nebudete chtít zabalit do příkazu shellu (který provádí expanzi parametrů):
ExecStart=/bin/bash -c '/${TESTEXTSERVICESFILES}/syslog/bin/nxlog -c ${TESTCONFDATA}/syslog/nxlog.conf'
Místo Environment=
, použijte EnvironmentFile=
, k definování více proměnných prostředí.
[Service]
Type=simple
EnvironmentFile=/etc/sysconfig/customsyslog
ExecStart=/bin/echo ${TESTEXTSERVICESFILES}/syslog/bin/nxlog $TESTCONFDATA
/etc/sysconfig/customsyslog
bude obsahovat key=value
pár, např.
TESTEXTSERVICESFILES=/opt/test/extservices
TESTCONFDATA=/storage/test/conf