He configurado mi variable de entorno usando /etc/profile
:
export VAR=/home/userhome
Entonces si lo hago echo $VAR
se nota/home/userhome
Pero cuando pongo referencia a esta variable en el /etc/init.d/servicename
archivo, no puede encontrar esta variable. Cuando ejecuto service servicename status
usando un /etc/init.d/servicename
archivo 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 status
lugar deservice servicename status
¿Cómo puedo hacer que el servicio de Unix vea las variables de entorno?
rc
guió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 desystemctl
por un gancho oculto.