Nikratio Asked: 2010-04-02 13:22:11 +0800 CST2010-04-02 13:22:11 +0800 CST 2010-04-02 13:22:11 +0800 CST 让新贵从 /etc/environment 读取环境以获取服务 772 将定义的环境变量提供/etc/environment给新贵服务的最佳方法是什么? 我认为简单地在脚本部分中采购它们.是行不通的,因为脚本是由它执行的,每个定义前面sh都需要一个额外的......export upstart 3 个回答 Voted Best Answer Nikratio 2010-04-06T05:43:47+08:002010-04-06T05:43:47+08:00 我终于在#upstartIRC 频道上得到了答案。在某些时候,upstart 将获得适当的 PAM 支持,从而/etc/environment自行读取。在那之前,诀窍是使用 su 执行命令。su使用 PAM 并将设置适当的环境。例子: script exec su root -c /usr/sbin/job_needing_envs end script Jrgns 2015-08-27T11:52:13+08:002015-08-27T11:52:13+08:00 我倾向于使用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 Dennis Williamson 2010-04-02T14:11:55+08:002010-04-02T14:11:55+08:00 将此添加到您的脚本中: . /etc/environment export VAR1 VAR2 VAR3 您需要的变量在“VAR1”样式占位符的位置指定。
我终于在
#upstart
IRC 频道上得到了答案。在某些时候,upstart 将获得适当的 PAM 支持,从而/etc/environment
自行读取。在那之前,诀窍是使用 su 执行命令。su
使用 PAM 并将设置适当的环境。例子:我倾向于使用
eval $(cat /etc/environment | sed 's/^/export /')
它将 中的每一行
/etc/environment
,前置export
,并评估它:将此添加到您的脚本中:
您需要的变量在“VAR1”样式占位符的位置指定。