验证rake任务完成?

时间:2016-12-23 17:20:42

标签: ruby-on-rails bash

  • 部署脚本运行几个rake任务。
  • 有时候rake任务会无声地失败。

使用bash我想在任务成功时设置变量,然后稍后检查该变量以继续/退出脚本。

类似的东西:

precompile_success = false
...
rake assets:precompile && precompile_success = true

...

if [ !precompile_success ]; then
    exit
fi

我怎么样?

2 个答案:

答案 0 :(得分:1)

boolean中对true false(或)bash没有字面支持,但可以作为1和{0的占位符进行处理{1}}使用C-stlye arithmetic-expressions with (())

仅使用您的代码片段并使用算术表达式重写它。

precompile_success=0

rake assets:precompile && precompile_success=1
((!precompile_success)) && exit

答案 1 :(得分:0)

您可以使用a.sh进行测试

#!/bin/bash
precompile_success=false
(exit $1) && precompile_success=true

if [ "$precompile_success" = true ]; then
    echo OK
else 
    echo KO
fi

测试

$ ./a.sh 0
OK
$ ./a.sh 1
KO