J'ai défini ma variable d'environnement en utilisant /etc/profile
:
export VAR=/home/userhome
Alors si je le fais echo $VAR
montre/home/userhome
Mais lorsque je mets référence à cette variable dans le /etc/init.d/servicename
fichier, il ne peut pas trouver cette variable. Quand j'exécute en service servicename status
utilisant un /etc/init.d/servicename
fichier 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 status
au lieu deservice servicename status
Comment puis-je faire en sorte qu'un service unix voie les variables d'environnement?
rc
directement 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 invocationssystemctl
par un crochet caché.