【发布时间】:2020-03-30 21:14:14
【问题描述】:
在 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
我想知道是否可以避免在etc/environment 文件中声明ENV_VAR 变量。有没有办法使用任何其他方法声明service 可以看到的环境变量?
【问题讨论】:
-
将
ENV_VAR="My Value"添加到my-service或此服务包含的文件中。 -
请澄清。或者更好的是,将其作为答案发布,以便我们对其进行投票。
-
你的问题更适合Unix & Linux Stack Exchange。
-
你运行的是什么发行版?
sudo service my-service stop建议您不要使用 systemd。您使用的是哪个服务管理器(rc-init、systemd、sysvinit、upstart 等)? -
Ubuntu DISTRIB_RELEASE=16.04。它确实带有systemctl。而不是sudo service my-service start我可以用sudo systemctl start my-service启动它有没有办法使用命令行设置环境变量(不会弄乱my-service.conf文件?