我有一个运行外部安装脚本的执行块,我没有权力。 该安装脚本有时会立即做我想做的事情,在其他时间首先运行任意数量的更新,需要再次调用来进行实际的安装。 更新过程返回失败1,实际安装返回成功0.是否有一个优雅的方式来重新运行执行块,直到脚本返回0?
当然,我可以只将执行块的几个副本放入配方中,只有当创build的文件夹不存在时才运行,忽略运行是否成功。 但那将是难以置信的丑陋和黑客。
您可以使用脚本作为条件在“直到”循环与一个空的身体:
until ./install_script ; do : ; done
冒号是一个“无所事事”的命令,只要条件命令返回一个假值(非零退出状态),“直到”只是循环。 通常用于条件的方括号实际上是“testing”命令的别名。
Nitpicking:这是比厨师问题更多的问题。 您可能需要更改标签。