加载linux环境变量
我有一组环境变量,我想在每次启动时自动加载它。截至目前,我正在做以下工作: In/etc/environment加载linux环境变量,linux,environment-variables,coreos,Linux,Environment Variables,Coreos,我有一组环境变量,我想在每次启动时自动加载它。截至目前,我正在做以下工作: In/etc/environment export FLEETCTL_TUNNEL=10.77.189.179 在~/.bashrc中 source /etc/environment 但从理论上讲,如果将export命令放入~/.bashrc,应该可以正常工作吗 有没有更好的方法可以做到这一点?你是对的。放置在/etc/profile,~/.bash_profile,~/.bashrc,&/etc/Environme
export FLEETCTL_TUNNEL=10.77.189.179
在~/.bashrc中
source /etc/environment
但从理论上讲,如果将export命令放入~/.bashrc,应该可以正常工作吗
有没有更好的方法可以做到这一点?你是对的。放置在
/etc/profile
,~/.bash_profile
,~/.bashrc
,&/etc/Environment
中的环境变量都应该被读取(但将由不同的组件读取)。从技术上讲,/etc/environment
与POSIX不兼容(这只意味着它不能在所有POSIX系统上工作)。此外,需要提供给单个服务的环境变量可以按照中的规定添加到systemd.service单元中
实践中的一个例子是etcd:
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”读取)您可能更容易在