У меня нижеприведенная логика c в скрипте, которая просматривает значение переменной "LIVE_ALIAS", чтобы увидеть, имеет ли она значение -A. Если это так, то предполагается, что значение -A меняется на -B.
Когда я запускаю свой код, выводом LIVE_ALIAS будет DEV-A, поэтому мои логики c "должны" изменить -A на -B Однако в журнале моей работы я вижу, что выполняется оператор else, и значение остается как -A и не изменяется. Есть ли что-то, чего мне не хватает в разделе 'then' предложения if, которое заставляет его не выполняться?
Стоит отметить, что LIVE_ALIAS - это DEV-B, скрипт работает нормально и устанавливает STAGING_ALIAS до DEV-A
if [ "${LIVE_ALIAS}" = *"-A"* ]
then
STAGING_ALIAS=$(echo "${LIVE_ALIAS}" | sed 's/-A/-B/g')
else
STAGING_ALIAS=$(echo "${LIVE_ALIAS}" | sed 's/-B/-A/g')
fi
> + LIVE_ALIAS=DEV-A
> + [ DEV-A = *-A* ]
> + echo DEV-A
> + sed s/-B/-A/g
> + STAGING_ALIAS=DEV-A
+ LIVE_ALIAS=DEV-B
+ [ DEV-B = *-A* ]
+ echo DEV-B
+ sed s/-B/-A/g
+ STAGING_ALIAS=DEV-A