2015-12-28 33 views
0

我想通過廚師才能執行此命令:廚師執行bash命令並回車輸入

knife client delete client_name 

的命令確實是從廚師運行使用此:

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'?

回答

2

您正在尋找-y(對確認提示說yes)。即

knife client delete client_name -y 
1

檢查刀common options

-y,--yes

應對所有確認「是」提示。刀是不是要求 確認。

0

其他兩個答案在直接意義上是正確的,但沒有理由像這樣掏出刀來。您可以直接使用廚師的HTTP客戶端:

node.chef_server_rest.delete_rest('/clients/client_name') 

(我想,已經有一段時間)

+0

這是假設你已經與服務器進行身份驗證。對於這種情況,[Chef Server API](https://docs.chef.io/api_chef_server.html#knife-api-requests)實際上有一個覆蓋刪除節點的例子。 –