我想在由 Puppet 管理的 Linux 系统上设置一个环境变量,以包含当前正在运行的分支的名称,即 puppet's $environment
。它必须是来自任何地方和系统任何用户的系统级变量 - 我试图尽可能避免任何类型的文件系统愚蠢行为。
基本上,我希望能够在其他代码中读取这个变量并将其包含在它创建的日志中。
理想情况下,我正在寻找一个跨平台的答案,但特定于 CentOS / RedHat 将是一个很好的开始。
编辑:我想避免每次在日志中写一行时都需要读取 /etc/ 下的一些随机文件。
发帖后不久,我考虑过使用 profile.d。问题是很多服务不加载配置文件,即使我使用片段,如果我进行更改,也需要重新读取配置文件。
答案1
执行此操作的“标准”方法是添加一个文件/etc/profile.d/environment.sh
包含
export VAR1=value1
正如您所说,某些服务(cron)不会启动登录 shell,或者不会读取环境,因此必须以不同的方式完成。