0

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

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

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

理想情况下,我想在配方顶部进行一次调用,或者在命令行中使用配置选项(我使用的是 chef-client)。

提前谢谢!

4

1 回答 1

0

您可以抛出错误并退出 Chef:

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

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

于 2018-11-30T07:56:34.513 回答