Я установил свою переменную среды, используя /etc/profile
:
export VAR=/home/userhome
Тогда, если я делаю echo $VAR
это показывает/home/userhome
Но когда я помещаю ссылку на эту переменную в /etc/init.d/servicename
файл, она не может найти эту переменную. Когда я запускаю, service servicename status
используя /etc/init.d/servicename
файл со следующим содержанием:
case "$1" in
status)
cd $VAR/dir
;;
esac
это говорит /dir: No such file or directory
Но это работает, если я бегу /etc/init.d/servicename status
вместоservice servicename status
Как сделать так, чтобы сервис Unix видел переменные среды?
rc
прямой вызов сценария System 5 также не работает в операционных системах systemd, так как все вызовы сценария превращаются в вызовыsystemctl
скрытым хуком.