Случай сценария Bash не оценивает условия правильно - PullRequest
0 голосов
/ 02 октября 2018

Я выполняю этот сценарий оболочки в задании Дженкинса.Идея состоит в том, чтобы запустить следующий шаг задания, только если условие в этом сценарии оценено как истинное.Если в номере сборки есть слово 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}, передаваемый в prod

Любая помощь будет оценена.Спасибо.

1 Ответ

0 голосов
/ 02 октября 2018
no match found in 77

Как показывает распечатка, $v имеет значение 77 и не содержит слова SNAPSHOT.Так что да, верно, что дело *) сработало.

...