Chef noop 在 shell 命令中

Chef noop 在 shell 命令中

如果 bash 命令返回某个值,我想退出 chef。

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 命令的输出并据此返回的最佳方法是什么?

答案1

您的错误消息来自 Bash,而不是 Chef - 为了避免混淆,请在将脚本添加到 Chef 之前,从 shell 手动测试您的脚本。

正如错误所说,Bash 只允许您return退出函数或使用 包含的另一个脚本source。您不能使用它退出主脚本。

在您的示例中,替换returnexit 0应该可以。

相关内容