将内部引号从 EnvironmentFile 变量传递到 ExecStart

将内部引号从 EnvironmentFile 变量传递到 ExecStart

在环境文件中我有:

EBUSD_OPTS="--scanconfig -d /dev/ttyEBUS -c /etc/ebusd --log=\"all notice\" --log=\"update error\""

在 .service 文件中:

EnvironmentFile=-/etc/default/ebusd
ExecStart=/usr/bin/ebusd $EBUSD_OPTS

我希望 --log= 后面的引号能够原封不动地传递给可执行文件,但这似乎行不通。我尝试了所有类型的双引号、单引号、双引号、三引号转义、单引号等,但都没有成功。

答案1

从 EnvironmentFile 中取出外面的引号

EBUSD_OPTS=--scanconfig -d /dev/ttyEBUS -c /etc/ebusd --log="all notice" --log="update error"

并在 ExecStart 中添加括号。

ExecStart=/usr/bin/ebusd ${EBUSD_OPTS} 

我还必须在括号后面留一个空格。

相关内容