L'idée est d'utiliser une variable pointant vers le nœud au lieu du chemin codé en dur, ma solution était cette ExecStart="$(which node)" /home/jonma/Development/chewy
Mais lorsque j'exécute le service, j'obtiens l'erreur suivante:
feb 08 11:12:51 jonma-VirtualBox systemd[1]: [/lib/systemd/system/chewy.service:2] Executable path is not absolute, ignoring: $(which node) /home/jon
feb 08 11:12:51 jonma-VirtualBox systemd[1]: chewy.service: Service lacks both ExecStart= and ExecStop= setting. Refusing.
Comment puis-je y parvenir sans coder en dur le chemin?
systemd
n'acceptera pas les commandes qui ne sont pas données avec un chemin absolu, donc pour accomplir ce que vous voulez, vous devez vous fier à bash-ism et faire l'une des choses suivantes:
ExecStart=/bin/bash -c '$$(which node) /home/jonma/Development/chewy'
ou
ExecStart=/bin/bash -c '`which node` /home/jonma/Development/chewy'
(j'aime mieux le premier, mais vous pouvez en faire un)