将中定义的环境变量提供/etc/environment
给暴发户服务?
我认为简单地在脚本部分中获取它们是.
行不通的,因为脚本的执行sh
需要export
在每个定义前面添加一个附加内容......
答案1
我终于在 IRC 频道上得到了答案#upstart
。在某个时候,upstart 将获得适当的 PAM 支持,从而读取/etc/environment
自身。在此之前,诀窍是使用 su 执行命令。su
使用 PAM 并将设置适当的环境。示例:
script
exec su root -c /usr/sbin/job_needing_envs
end script
答案2
我倾向于使用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
答案3
将其添加到您的脚本中:
. /etc/environment
export VAR1 VAR2 VAR3
其中,您需要的变量代替了“VAR1”样式的占位符。