J'ai défini ma variable d'environnement en utilisant /etc/profile:
export VAR=/home/userhome
Alors si je le fais echo $VARmontre/home/userhome
Mais lorsque je mets référence à cette variable dans le /etc/init.d/servicenamefichier, il ne peut pas trouver cette variable. Quand j'exécute en service servicename statusutilisant un /etc/init.d/servicenamefichier avec le contenu suivant:
case "$1" in
status)
cd $VAR/dir
;;
esac
ça dit /dir: No such file or directory
Mais ça marche si je cours /etc/init.d/servicename statusau lieu deservice servicename status
Comment puis-je faire en sorte qu'un service unix voie les variables d'environnement?
rcdirectement le script aussi ne fonctionne pas de cette façon sur les systèmes d'exploitation systemd, comme toutes les invocations du script sont transformées en invocationssystemctlpar un crochet caché.