Я установил свою переменную среды, используя /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скрытым хуком.