Ruby Chef-执行vs bash资源
我使用了Ruby Chef-执行vs bash资源,ruby,chef-infra,recipe,Ruby,Chef Infra,Recipe,我使用了execute资源或bash资源 两者的效果相同: bash 'Execute my script' do user 'root' cwd '/mydir' code <<-EOH ./myscript.sh EOH end execute 'Execute my script' do user 'root' cwd '/mydir' command './myscript.sh' end bash'executem
execute
资源或bash
资源
两者的效果相同:
bash 'Execute my script' do
user 'root'
cwd '/mydir'
code <<-EOH
./myscript.sh
EOH
end
execute 'Execute my script' do
user 'root'
cwd '/mydir'
command './myscript.sh'
end
bash'executemyscript'do
用户“根”
cwd'/mydir'
代码对于单个脚本,请使用执行
。bash
资源用于将脚本内容内联包含在配方代码中。在bash&execute块中,我们需要编写代码来捕获错误,就像添加多个命令一样&厨师会获取最后一个命令的状态。
更清楚地说,当Bash/execute块只有一个命令时,chef捕捉到问题,如果下一个命令成功,那么它将采用最后一个命令状态
bash 'Execute my script' do
user 'root'
cwd '/mydir'
code <<-EOH
./myscript.sh
ls srini ##This will fail
ls ## this will be successful
EOH
end
execute 'Execute my script' do
user 'root'
cwd '/mydir'
command './myscript.sh'
command 'ls srini' #will fail
command 'ls' # will be successful
end
bash'executemyscript'do
用户“根”
cwd'/mydir'
代码