如何让Chef出错,或者至少报告.erb模板中缺少的变量



如果我在.erb:中有如下行

TMP_DIR=$(mktemp -d <%= @temp_dir %>/tmp_dir.XXXXXX)

如果@temp_dir变量未定义,有没有办法让Chef失败,或者至少报告?

理想情况下,我希望在食谱顶部或命令行中使用config选项(我使用的是chef客户端(进行一次调用。

谢谢!

您可以抛出错误并使用退出Chef

Chef::Application.fatal!("Temporary directory is undefined") unless defined? temp_dir

它不会覆盖空变量,所以您可以添加temp_dir.empty?检查或适用于您的案例的任何内容

最新更新