
나는 이런 일을하고 싶다 :
[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 env var를 사용할 수 있는 방법이 있나요? 아니면 하드코딩해야 하나요?
답변1
이후 버전의 systemd에서 이를 변경했을 수 있지만 237 정도에서는 절대 경로가 되어야 하는 프로그램에서 $
허용 되지 않습니다. %
예를 들어, 이 문제를 해결할 수 있습니다.
ExecStart=/usr/bin/bash -c 'exec $HOME/.local/bin/cprev-agent'
여기서는 $HOME
쉘에 의해 확장됩니다. systemd는 이러한 변수가 단일 단어인 경우에만 확장합니다. ${HOME}
항상 시스템에서 교체하도록 사용할 수 있습니다 .