
# check_result
check_result用于获取"指定步骤"的标准输出，并判断是否与指定的字符串相等。主要用于控制流程的[条件分支执行](https://support.huaweicloud.com/tr-gcs/gcs_tr_01_0010.html)。
![](https://support.huaweicloud.com/tr-gcs/public_sys-resources/notice_3.0-zh-cn.png)
- 目前支持获取的最大输出长度为1M字节，如果目标步骤的stdout超出，则execution执行时会报错终止（当然，您可以在失败后调整命令，然后触发继续执行）。
- check_result仅在condition字段内可用。
 
#### 语法
```
job-a：
  tool: nginx:latest
  commands:
    - echo 111  # <== 某步骤的输出
job-b:
  condition: check_result(job-target, expect)  # <==== 注意这里，判断输出是否相等
```
#### 参数说明
表1参数说明 
| 参数         | 是否必填 | 类型     | 描述                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| job-target | 是    | String | 指定获取结果的目标Job名。                                                                                                                                                                                                                                                           |
| expect     | 是    | String | 期待的值，用于判断条件是否满足： - 使用双引号来表示，如"OK"；  - 可以使用变量，如 ${input}。   |
   
#### 返回值
ture 或者 false。
- true：job-target的标准输出与expect参数值相等时，返回true；
- false：job-target的标准输出与expect参数值不相等时，返回false。
 
#### 示例
假设某目标步骤"job-a"的功能为判断样本数据是否合格，其标准输出为：
```
ok
```
通过check_result函数，决定后续步骤执行分支。
```
job-a：
  tool: nginx:latest
  commands:
    - echo ok  # <== 步骤的输出
job-b:
  condition: check_result(job-a, "ok")      # <==== 这里运行结果为，conditon: true
job-c
  condition: check_result(job-a, "not_ok")  # <==== 这里运行结果为，conditon: false
```
