Eu configurei minha variável de ambiente usando /etc/profile
:
export VAR=/home/userhome
Então, se eu fizer echo $VAR
isso mostra/home/userhome
Mas quando coloco referência a essa variável no /etc/init.d/servicename
arquivo, ela não pode encontrar essa variável. Quando executo service servicename status
usando /etc/init.d/servicename
arquivo 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 status
vez deservice servicename status
Como posso fazer o serviço unix ver variáveis de ambiente?
rc
script 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çõessystemctl
por um gancho oculto.