Eu configurei minha variável de ambiente usando /etc/profile:
export VAR=/home/userhome
Então, se eu fizer echo $VARisso mostra/home/userhome
Mas quando coloco referência a essa variável no /etc/init.d/servicenamearquivo, ela não pode encontrar essa variável. Quando executo service servicename statususando /etc/init.d/servicenamearquivo com o seguinte conteúdo:
case "$1" in
status)
cd $VAR/dir
;;
esac
diz /dir: No such file or directory
Mas funciona se eu correr em /etc/init.d/servicename statusvez deservice servicename status
Como posso fazer o serviço unix ver variáveis de ambiente?
rcscript System 5 diretamente também não funciona dessa maneira nos sistemas operacionais systemd, pois todas as invocações do script são transformadas em invocaçõessystemctlpor um gancho oculto.