首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载linux环境变量

加载linux环境变量
EN

Stack Overflow用户
提问于 2014-10-22 04:56:42
回答 1查看 954关注 0票数 0

我有一组环境变量,我想在每次启动时自动加载它。到目前为止,我正在做以下工作:

在/etc/environment中

代码语言:javascript
复制
export FLEETCTL_TUNNEL=10.77.189.179

在~/.bashrc中

代码语言:javascript
复制
source /etc/environment

但在理论上,如果将导出命令放在~/.bashrc中,应该可以正常工作?

有没有更好的方式来做这件事?

EN

回答 1

Stack Overflow用户

发布于 2014-10-22 10:42:34

你是对的。放置在/etc/profile~/.bash_profile~/.bashrc/etc/environment中的环境变量都应该是可读的(但将由不同的组件读取)。从技术上讲,/etc/environment并不兼容POSIX (这仅仅意味着它不能在所有的POSIX系统上工作)。此外,还可以将需要提供给各个服务的环境变量添加到man systemd.service中指定的systemd.service单元

在实践中的一个例子是etcd:

代码语言:javascript
复制
core@littleguy ~ $ systemctl  cat etcd.service
# /usr/lib64/systemd/system/etcd.service
[Unit]
Description=etcd

[Service]
User=etcd
PermissionsStartOnly=true
Environment=ETCD_DATA_DIR=/var/lib/etcd
Environment=ETCD_NAME=%m
ExecStart=/usr/bin/etcd 
Restart=always
RestartSec=10s

在本例中,您可以看到值ETCD_DATA_DIR被设置为"/var/lib/etcd“,值ETCD_NAME被设置为该主机的机器ID (从/etc/machine-id -”427483172c674b648b24f44bd133aeb7“读取)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26496147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档