我正在尝试使用systemd'sEnvironmentFile并在文件中设置命令时向该命令添加一个选项。我在单元文件中有以下内容:
ExecStart=/usr/bin/bash -c "echo ${PORT:+port is $PORT}"
Run Code Online (Sandbox Code Playgroud)
当我启动服务时它不会回显任何内容。
以下按预期工作:
ExecStart=/usr/bin/bash -c "echo port is $PORT"
Run Code Online (Sandbox Code Playgroud)
这意味着文件被正确读取。
参数替换也适用于命令行:
$ PORT=1234 bash -c 'echo ${PORT:+port is $PORT}'
port is 1234
Run Code Online (Sandbox Code Playgroud)
我错过了什么?