ENV 值在使用 bash 守护程序脚本重新启动服务器时不可见

ENV value is not visible on server restart with bash daemon script

我有一个嵌入式码头应用程序,我想使用 ‘start-stop-daemon’ 脚本在后台自动启动 运行。 当我按如下方式启动脚本时,一切顺利..,启动应用程序可以看到 ENV(环境变量):

vagrant@homestead:~$sudo /etc/init.d/myscript start

我的脚本中有这个:

#!/bin/bash
:
:
DAEMON_USER=vagrant
:
:
# Source to load the secret key
source ~/.profile
:
:
start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USER --chdir $MARY_BASE --startas $DAEMON -- $DAEMON_OPTS
:

脚本自动上传(服务器重启)时,应用自动启动,但启动应用不可见键值(ENV)

如何使用守护进程 bash 脚本在服务器启动时获取对应用程序可见的 ENV 值?

[已解决]

~/.profile 中,您可以放置​​环境变量赋值,因为它会在启动期间自动执行。

系统范围的环境变量设置影响整个系统(而不仅仅是特定用户)的合适文件是/etc/environment

将您的密钥 (export ABC=123) 复制到上述文件,并在您的 bash 脚本 (. /etc/environment) 中 source 它。

希望对大家有所帮助。