環境変数を使用してサービス作業ディレクトリを設定するには?以下は、サービス構成の例です。
[Service]
Environment=MYWORKINGDIR=/tmp
WorkingDirectory=${MYWORKINGDIR}
と同様のエラーが発生しますnot an absolute path
。先頭にスラッシュを追加するとエラーは「修正」されますが、パスはまだ見つかりません。
[Service]
Environment=MYWORKINGDIR=/tmp
WorkingDirectory=/${MYWORKINGDIR}
可能ですか?どのディレクティブが環境変数を使用できるか使用できないかについての文書は不明です。
http://www.freedesktop.org/software/systemd/man/systemd.exec.html
答え1
答え2
私が見つけた解決策の1つは、WorkingDirectory =にシンボリックリンクを指定し、サービスを開始する前にシンボリックリンクを変更することでした。
私はそれが同じではないことを知っていますが、あなたと同じ方法で私が解決しようとした問題を解決しました。
答え3
すべての遅れて来た人のためにここに役立つ解決策があります。https://unix.stackexchange.com/a/742644/92366
簡単に言えば、複雑すぎる必要がない場合は、次のように使用できます。
ExecStart=/bin/bash -c "cd \"/path/${variable_subpath}/\";echo \"${PWD}\";"