Ho impostato la mia variabile d'ambiente usando /etc/profile:
export VAR=/home/userhome
Quindi se lo faccio echo $VARlo dimostra/home/userhome
Ma quando inserisco il riferimento a questa variabile nel /etc/init.d/servicenamefile, non riesco a trovare questa variabile. Quando corro service servicename statususando il /etc/init.d/servicenamefile 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 statusinvece diservice servicename status
Come posso fare in modo che il servizio Unix veda le variabili di ambiente?
rcscript direttamente anche non funziona in questo modo su sistemi operativi systemd, come tutte le chiamate di script vengono trasformati in invocazioni disystemctlda un gancio nascosto.