Ich versuche, systemd
's zu verwenden EnvironmentFile
und dem Befehl eine Option hinzuzufügen, wenn er in der Datei festgelegt ist. Ich habe folgendes in der Unit-Datei:
ExecStart=/usr/bin/bash -c "echo ${PORT:+port is $PORT}"
was nichts wiedergibt, wenn ich den Dienst starte.
Folgendes funktioniert wie erwartet:
ExecStart=/usr/bin/bash -c "echo port is $PORT"
was bedeutet, dass die Datei korrekt gelesen wird.
Die Parameterersetzung funktioniert auch in der Befehlszeile:
$ PORT=1234 bash -c 'echo ${PORT:+port is $PORT}'
port is 1234
Was vermisse ich?
quelle