如果 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
应该可以。