如果我在.erb中有如下一行:
TMP_DIR=$(mktemp -d <%= @temp_dir %>/tmp_dir.XXXXXX)
如果未定义@temp_dir变量,是否有办法让Chef失败或至少报告?
理想情况下,我想通过在菜谱顶部或通过命令行使用config选项(我正在使用Chef-client)进行一次调用来完成此操作。
谢谢!
答案 0 :(得分:0)
您可以使用以下方法抛出错误并退出Chef:
Chef::Application.fatal!("Temporary directory is undefined") unless defined? temp_dir
它不会包含空变量,因此您可以添加temp_dir.empty?
支票或适用于您的情况的任何内容