我可以访问我们团队的一个模块,其中全局清单由基础架构团队维护.该PATH变量被全球清单设置.
我想附加到PATH变量,但是puppet忽略了我的exec块.
file { "/etc/profile.d/set_java_home.sh":
ensure => file,
source => "puppet:///modules/teamXXX/set_java_home.sh",
mode => "u=rw,go=r"
}
Exec { path => [ "\${PATH}", "\${JAVA_HOME}/bin" ] }
Run Code Online (Sandbox Code Playgroud)
如何附加PATH变量?
我应该提到,我希望增强PATH用户shell环境的变量,而不是puppet的执行环境.
Puppet无法改变正在运行的shell的环境.没有子进程可以 - 将环境复制到每个子进程,然后只能访问其单个副本.
要向PATH所有新登录shell添加内容,您需要更改profile配置文件.如果您使用的是最新版本bash,则应该有/etc/profile.d.您可以使用这样的资源:
file { '/etc/profile.d/append-java-path.sh':
mode => '644',
content => 'PATH=$PATH:/my/java/home/bin',
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10209 次 |
| 最近记录: |