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