如何设置Linux机器上运行的服务要使用的环境变量

alp*_*ric 5 linux bash devops

在 Linux 机器上运行的程序my-service需要提供ENV_VAR环境变量。如果我在文件中声明此变量,它会起作用etc/environment

vim /etc/environment 然后添加额外的一行:

ENV_VAR="My Value"

最后重新加载它:

source /etc/environment

然后我可以重新启动my-service

sudo service my-service stop sudo service my-service start

我想知道是否可以避免ENV_VAR在文件中声明变量etc/environment。有没有办法声明环境变量以通过service使用任何其他方法来查看?

Kam*_*Cuk 3

有没有办法使用任何其他方法来声明服务可以看到的环境变量?

如果您的系统使用 systemd 来管理服务,则可以从systemd.exec 文档“环境”部分添加到服务文件中:

Environment="ENV_VAR=My Value"
Run Code Online (Sandbox Code Playgroud)