私はこのようなことをしたい:
[Unit]
Description=ROT13 demo service
After=network.target
StartLimitIntervalSec=1
[Service]
Type=simple
User=oleg
ExecStart=$HOME/.local/bin/cprev-agent # user the home env var
[Install]
WantedBy=multi-user.target
私のように$ HOME環境変数を使用する方法はありますか、それともハードコードする必要がありますか?
答え1
将来のバージョンのsystemdでこれを変更した可能性がありますが、237付近では許可されていないか、プログラム$
で%
はこのパスも絶対パスでなければなりません。たとえば、次のようにこの問題を解決できます。
ExecStart=/usr/bin/bash -c 'exec $HOME/.local/bin/cprev-agent'
これは$HOME
シェルによって拡張されます。 systemdは、これらの変数が単一の単語の場合にのみ拡張します。${HOME}
いつでもsystemdに交換を依頼できます。