Sto provando a usare quello systemd
di EnvironmentFile
e aggiungere un'opzione al comando quando è impostato nel file. Ho il seguente nel file di unità:
ExecStart=/usr/bin/bash -c "echo ${PORT:+port is $PORT}"
che non fa eco a nulla quando avvio il servizio.
Quanto segue funziona come previsto:
ExecStart=/usr/bin/bash -c "echo port is $PORT"
il che significa che il file viene letto correttamente.
La sostituzione dei parametri funziona anche sulla riga di comando:
$ PORT=1234 bash -c 'echo ${PORT:+port is $PORT}'
port is 1234
Cosa mi sto perdendo?