Как лучше всего предоставить переменные среды, определенные в /etc/environment
чтобы выскочка служба?
Я думаю, просто найти их с .
в разделе скриптов не работает, потому что скрипты выполняются sh
что потребует дополнительных export
перед каждым определением ...
Я наконец получил ответ на #upstart
IRC канал. В какой-то момент выскочка получит надлежащую поддержку PAM и, таким образом, прочитает /etc/environment
сам. А пока уловка состоит в том, чтобы выполнить команду с помощью su. su
использует PAM и настроит правильную среду. Пример:
script
exec su root -c /usr/sbin/job_needing_envs
end script
Я обычно использую eval $(cat /etc/environment | sed 's/^/export /')
Требуется каждая строка в /etc/environment
, предшествует export
, и оценивает его:
script
exec /bin/bash <<'EOT'
eval $(cat /etc/environment | sed 's/^/export /')
do_what_you_need_to
EOT
end script
Добавьте это в свой сценарий:
. /etc/environment
export VAR1 VAR2 VAR3
где необходимые вам переменные указаны вместо заполнителей стиля "VAR1".