He configurado mi variable de entorno usando /etc/profile:
export VAR=/home/userhome
Entonces si lo hago echo $VARse nota/home/userhome
Pero cuando pongo referencia a esta variable en el /etc/init.d/servicenamearchivo, no puede encontrar esta variable. Cuando ejecuto service servicename statususando un /etc/init.d/servicenamearchivo con el siguiente contenido:
case "$1" in
status)
cd $VAR/dir
;;
esac
dice /dir: No such file or directory
Pero funciona si corro en /etc/init.d/servicename statuslugar deservice servicename status
¿Cómo puedo hacer que el servicio de Unix vea las variables de entorno?
rcguión directamente también no funciona de esa manera en los sistemas operativos systemd, como todas las invocaciones de la secuencia de comandos se convierten en invocaciones desystemctlpor un gancho oculto.