Я новичок в написании сценариев bash, хочу иметь, если условие лестница
Я читаю строку, на основе которой я хочу, чтобы корректное условие if было обработано.
Логика следующая -
Если строка содержит подстроку -deploy
, только тогда разрешите ей ввести лестницу условия if.
Если строка содержит подстроки -functions
и -layer
, то вызывать должен только мой 1-й, если блок условий,
проверка elsif для -functions
подстроки
проверка elsif для -layer
подстроки
До сих пор я придумал следующий код:
commitMessage='[STABLE] -deploy -functions [one,two] -layer some commit message'
if [[ ($commitMessage == *"deploy"* ) && ($commitMessage == *"functions"*) || ($commitMessage == *"layer"*) ]] ; then
if [[ ($commitMessage == *"functions"*) && ($commitMessage == *"layer"*) ]] ; then
echo 'functions and layer'
fi
elsif [[ $commitMessage == *"functions"* ]] ; then
echo 'functions only'
fi
elsif [[ $commitMessage == *"layer"* ]] ; then
echo 'layer only'
fi
fi
Я получаю синтаксическую ошибку для elsif -
syntax error near unexpected token `elif'
Я имею в виду это, но не понимаю, что я делаю неправильно -
Bash IF: несколько условий