나는 이런 일을하고 싶다 :
[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에 교체를 요청할 수 있습니다 .