Bash脚本案例无法评估条件正确

时间:2018-10-02 19:19:14

标签: bash jenkins build-automation

我正在Jenkins作业中执行此Shell脚本。 仅当此脚本中的条件被评估为true时,才可以运行作业的下一步。 如果内部版本号中包含单词SNAPSHOT,则应评估为true,然后执行下一步。

#!/bin/sh
snapshot_present=true
v="${BUILD_NUMBER}"
case $v in
    *SNAPSHOT*)
        echo "snapshot ${v} being pushed to prod";;
    *)
        echo "no match found in ${v}"
esac
exit

但是,当我运行此作业时。我得到的输出是:

  

在77中找不到匹配项

77是这里的内部版本号。 并且作业将继续独立执行下一步。

我的状况得到正确评估吗?如果是这样,那为什么还要获得其他输出?它应该产生

  

快照$ {v}被推到产品中

任何帮助将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:2)

no match found in 77

如打印输出所示,$v设置为77,并且不包含单词SNAPSHOT。所以是的,触发*)案例是正确的。