Chef
shell命令內的廚師noop
如果 bash 命令返回某個值,我想擺脫廚師。
execute 'noop' do command <<-EOH cmd_output=$(echo "test") if [ "$cmd_output" == "test" ]; then return fi EOH end
我遇到了一個錯誤
return: can only 'return' from a function or sourced script
獲取 bash 命令的輸出然後基於此返回的最佳方法是什麼?
您的錯誤消息來自 Bash,而不是 Chef - 為避免混淆,請在將腳本添加到 Chef 之前從 shell 手動測試您的腳本。
正如錯誤所說,Bash 只會讓你
return
從一個函式或另一個腳本中使用source
. 您不能使用它退出主腳本。在您的範例中,替換
return
為exit 0
應該可以。