Ustawiłem zmienną środowiskową za pomocą /etc/profile:
export VAR=/home/userhome
Jeśli to zrobię, echo $VARto pokaże/home/userhome
Ale kiedy umieszczam odniesienie do tej zmiennej w /etc/init.d/servicenamepliku, nie może ona znaleźć tej zmiennej. Gdy uruchamiam service servicename statusprzy użyciu /etc/init.d/servicenamepliku o następującej treści:
case "$1" in
status)
cd $VAR/dir
;;
esac
to mówi /dir: No such file or directory
Ale działa, jeśli uruchomię /etc/init.d/servicename statuszamiastservice servicename status
Jak sprawić, by usługa unix widziała zmienne środowiskowe?
rcskryptu System 5 również nie działa w ten sposób na systemowych systemach operacyjnych, ponieważ wszystkie wywołania skryptu są zamieniane w wywołaniasystemctlukrytego haka.