厨师执行 bash 命令并输入
chef execute bash command and enter input
我想通过 chef 执行这个命令:
knife client delete client_name
命令确实是从 chef 运行的:
bash 'delete client from chef server' do
cwd ::File.dirname('/apps/chef-repo') # not sure if relevant
code <<-EOH
knife client delete client_name
EOH
end
但是小刀需要确认输入
STDOUT: Do you really want to client_name? (Y/N)
如何执行点击'Y'?
您正在寻找 -y(对确认提示说“是”)。即
knife client delete client_name -y
检查刀具common options:
-y, --yes
Respond to all confirmation prompts with “Yes”. knife is not to ask for
confirmation.
其他两个答案在直接意义上是正确的,但没有理由shell像这样开刀。您可以直接使用 Chef 的 HTTP 客户端:
node.chef_server_rest.delete_rest('/clients/client_name')
(我想,有一段时间了)
我想通过 chef 执行这个命令:
knife client delete client_name
命令确实是从 chef 运行的:
bash 'delete client from chef server' do
cwd ::File.dirname('/apps/chef-repo') # not sure if relevant
code <<-EOH
knife client delete client_name
EOH
end
但是小刀需要确认输入
STDOUT: Do you really want to client_name? (Y/N)
如何执行点击'Y'?
您正在寻找 -y(对确认提示说“是”)。即
knife client delete client_name -y
检查刀具common options:
-y, --yes
Respond to all confirmation prompts with “Yes”. knife is not to ask for confirmation.
其他两个答案在直接意义上是正确的,但没有理由shell像这样开刀。您可以直接使用 Chef 的 HTTP 客户端:
node.chef_server_rest.delete_rest('/clients/client_name')
(我想,有一段时间了)