如果 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
。您不能使用它退出主脚本。
在您的示例中,替换return
为exit 0
应该可以。