将/etc/environment
定义的环境variables提供给暴发户服务的最佳方法是什么?
我认为只是采购他们.
在脚本部分不起作用,因为脚本是由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
其中您需要的variables是指定“VAR1”样式占位符的地方。