新贵 - 加载 bashrc 变量

use*_*395 4 upstart env bashrc

我想知道如何bashrc在新贵脚本中加载变量并运行(node.js在这种情况下是服务器)。

最好的方法是什么?

我试过这个:

exec sudo -u someuser $NODE_PATH $FULL_PATH/$FILE_NAME >> /var/log/$PROGRAM_NAME.sys.log 2>&1
Run Code Online (Sandbox Code Playgroud)

和这个

exec start-stop-daemon --start -c someuser --exec $NODE_PATH $FULL_PATH/$FILE_NAME >> /var/log/$PROGRAM_NAME.sys.log 2>&1
Run Code Online (Sandbox Code Playgroud)

但是在第一个选项中,节点应用程序无法读取http_proxy变量(在 中定义/etc/bash.bashrc)。在第二个中它无法读取配置文件(节点应用程序安装在/opt文件夹中)

Gil*_*il' 5

/etc/bash.bashrc由交互式 shell 在启动时读取。它是一个用于交互使用的设置的地方,例如完成设置、提示等。不要在那里设置环境变量。请参阅是否有所有 shell 读取的“.bashrc”等效文件?系统范围环境变量的好地方是/etc/environment/etc/profile(和 中的文件/etc/profile.d)。

设置环境变量的正常Upstart 方法是在作业文件本身中。Upstart 不读取/etc/environment,但您可以从作业脚本中的文件加载环境变量:

script
. /etc/environment
exec start-stop-daemon …
end script
Run Code Online (Sandbox Code Playgroud)