我需要在Chef配方中使用Linux“set”命令,我尝试使用“execute”资源,以便在节点服务器上设置位置参数。在运行融合'chef-client'之后,它没有显示任何错误。但是当我在节点上检查它时,为了回显位置变量的值(例如:“echo $ 2”),没有显示任何值。我怎么解决它,是他们的其他过程还是我弄错了?以下是食谱中的确切行
execute "temp_password" do
command "set `cat temppasswd.txt`"
end
答案 0 :(得分:1)
set
不是命令,它是一个shell内置函数。我想你试图说你想设置一些环境变量,以便稍后在配方中根据文件内容使用。不幸的是,这不是Unix的工作方式,在子进程(bash)中设置环境变量对其父(chef-client)没有影响。在这种情况下,我也不知道“位置参数”是什么意思。如果你能提供更多关于你实际目标的细节,我可以提供更多的帮助,但正如我所写的那样,我所能说的最好的是你问题的任何部分实际上都不是。