Ho impostato la mia variabile d'ambiente usando /etc/profile
:
export VAR=/home/userhome
Quindi se lo faccio echo $VAR
lo dimostra/home/userhome
Ma quando inserisco il riferimento a questa variabile nel /etc/init.d/servicename
file, non riesco a trovare questa variabile. Quando corro service servicename status
usando il /etc/init.d/servicename
file con il seguente contenuto:
case "$1" in
status)
cd $VAR/dir
;;
esac
dice /dir: No such file or directory
Ma funziona se corro /etc/init.d/servicename status
invece diservice servicename status
Come posso fare in modo che il servizio Unix veda le variabili di ambiente?
rc
script direttamente anche non funziona in questo modo su sistemi operativi systemd, come tutte le chiamate di script vengono trasformati in invocazioni disystemctl
da un gancio nascosto.