Anda tidak dapat menggunakan variabel dalam perintah yang sebenarnya. systemd.layanan:
Perintah untuk mengeksekusi harus berupa nama jalur absolut. Mungkin berisi spasi, tetapi karakter kontrol tidak diperbolehkan.
Anda mungkin tidak ingin membungkusnya dalam perintah shell (yang melakukan ekspansi parameter):
ExecStart=/bin/bash -c '/${TESTEXTSERVICESFILES}/syslog/bin/nxlog -c ${TESTCONFDATA}/syslog/nxlog.conf'
Alih-alih Environment=
, gunakan EnvironmentFile=
, untuk menentukan beberapa variabel lingkungan.
[Service]
Type=simple
EnvironmentFile=/etc/sysconfig/customsyslog
ExecStart=/bin/echo ${TESTEXTSERVICESFILES}/syslog/bin/nxlog $TESTCONFDATA
/etc/sysconfig/customsyslog
akan berisi key=value
berpasangan, mis.,
TESTEXTSERVICESFILES=/opt/test/extservices
TESTCONFDATA=/storage/test/conf