我使用工头导出来创建新贵脚本(在 ubuntu 上)。Foreman 生成一个这样的新贵脚本:
start on starting app
stop on stopping app
respawn
exec su - ubuntu -c ...
问题:在启动应用程序之前,我需要运行一堆改变环境的脚本(包括 PATH)。但是,在 ubuntu 上使用 su/sudo 执行某些操作会重置 PATH。而且,如果没有脚本设置的 PATH,我的应用程序将无法运行。有什么解决方法吗??
尝试 su -p,它可以保留环境(手册页)
作为替代方案,您可以使用“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.