我使用foreman export创建upstart脚本(在ubuntu上)。 Foreman生成一个像这样的暴发脚本:
start on starting app
stop on stopping app
respawn
exec su - ubuntu -c ...
问题:在启动应用程序之前,我需要运行一堆改变环境的脚本(包括PATH)。但是,在ubuntu上使用su / sudo执行某些操作会重置PATH。并且,如果没有脚本设置的PATH,我的应用程序无法运行。有没有解决办法?
答案 0 :(得分:1)
尝试su -p,它会保留环境(manpage)
答案 1 :(得分:1)
作为替代方案,您可以使用“sudo -E”
-E The -E (preserve environment) option indicates to the security policy that the user wishes to preserve their existing environment variables. The security policy may return an error if the -E option is specified and the user does not have permission to preserve the environment.