將內部引號從 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

從環境文件中取出外部引號

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

並在 ExecStart 中新增大括號。

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

我還必須在大括號後面有一個尾隨空格。

相關內容