Non è possibile utilizzare le variabili nel comando vero e proprio. systemd.service:
Il comando da eseguire deve essere un nome di percorso assoluto. Può contenere spazi, ma i caratteri di controllo non sono consentiti.
Potresti non volerlo racchiudere in un comando di shell (che esegue l'espansione dei parametri):
ExecStart=/bin/bash -c '/${TESTEXTSERVICESFILES}/syslog/bin/nxlog -c ${TESTCONFDATA}/syslog/nxlog.conf'
Invece di Environment=
, usa EnvironmentFile=
, per definire più variabili di ambiente.
[Service]
Type=simple
EnvironmentFile=/etc/sysconfig/customsyslog
ExecStart=/bin/echo ${TESTEXTSERVICESFILES}/syslog/bin/nxlog $TESTCONFDATA
/etc/sysconfig/customsyslog
conterrebbe key=value
coppia, ad esempio,
TESTEXTSERVICESFILES=/opt/test/extservices
TESTCONFDATA=/storage/test/conf