うまくいかない部分が期待どおりに機能することを願っています。この構文には、環境変数$ SERVICE_RESULTの前後に少なくとも1つのスペースが必要です。
システムバージョン:237
これ[Eメール保護]テンプレートは%iを使用し、「_」を使用して%iを解析し、失敗したサービス名(%N)とその$ SERVICE_RESULTを区別する小さなユーティリティを呼び出します。 PassEnvironmentを使用して$ SERVICE_RESULTをサブプロセスに注入しようとしましたが、役に立ちませんでした。
// works
ExecStopPost=/bin/echo $SERVICE_RESULT
// works
ExecStopPost=/bin/systemctl start failurehandler@%N $SERVICE_RESULT .service
// doesn't work. I want this working to later use the %N and the $SERVICE_RESULT
ExecStopPost=/bin/systemctl start failurehandler@%N_$SERVICE_RESULT.service
答え1
私は以前のバージョンのsystemdしか持っていないので、正確に何をしているかをテストすることはできませんが、通常${var}
シェルフォームの代わりにフォームを使用してsystemdによって補間された変数を取得できます$var
。努力する
ExecStopPost=/bin/systemctl start failurehandler@%N_${SERVICE_RESULT}.service