
Quiero hacer algo como esto:
[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
¿Hay alguna manera de usar una variable de entorno $HOME como lo hice allí o es necesario codificarla?
Respuesta1
Es posible que las versiones posteriores de systemd hayan cambiado esto, pero en aproximadamente 237 no está permitido $
ni %
en el programa, que también tiene que ser una ruta absoluta. Puedes solucionar esto, por ejemplo,
ExecStart=/usr/bin/bash -c 'exec $HOME/.local/bin/cprev-agent'
Aquí $HOME
el shell se expande. systemd solo expande dichas variables si son una sola palabra. Puedes usar ${HOME}
para que systemd lo reemplace siempre.