Estou tentando usar systemd
's EnvironmentFile
e adicionar uma opção ao comando quando ele estiver definido no arquivo. Eu tenho o seguinte no arquivo da unidade:
ExecStart=/usr/bin/bash -c "echo ${PORT:+port is $PORT}"
que não ecoa nada quando inicio o serviço.
O seguinte funciona como esperado:
ExecStart=/usr/bin/bash -c "echo port is $PORT"
o que significa que o arquivo foi lido corretamente.
A substituição de parâmetro também funciona na linha de comando:
$ PORT=1234 bash -c 'echo ${PORT:+port is $PORT}'
port is 1234
o que estou perdendo?
fonte