【发布时间】:2017-10-18 10:29:25
【问题描述】:
我知道如何为用户和机器设置变量。 当我尝试添加到 PATH 时出现问题。目前我的代码将覆盖 PATH 中的内容。
execute 'set java_home2' do
command "setx -m PATH2 \"D:\\Home"
*only_if {"PATH2" == " "}*
end
目前这可确保 PATH 仅在没有 PATH 时运行。当 only_if 被删除时,就会出现覆盖问题。
编辑: 我现在可以修改系统变量,但不知道如何对用户变量做同样的事情
env 'path addition' do
key_name "PATH"
value (ENV["PATH"] + ";D:\\Home\\Apps\\variable")
:modify
end
【问题讨论】:
-
您希望环境变量只存在于 Ruby 进程(例如 Chef 脚本)的范围内,还是要更新它以便在脚本退出后保留它?
标签: ruby path environment-variables chef-infra