Поскольку этот фрагмент кода печатает yes
:
k=Activated; v=Yes
if [[ $k = 'Activated' ]] ; then
if [[ $v == 'Yes' ]] ; then
echo yes
fi
fi
, я предлагаю вам еще раз проверить свое значение $v
. Вы можете сделать это, например, из следующей расшифровки:
pax> echo -n "$v" | od -xcb
0000000 6559 0073
Y e s
131 145 163
0000003
У вас должны быть эти три (и только эти три) символа. Все остальное не будет считаться равным (включая вещи, содержащие непечатаемые символы, которые могут быть неочевидны в простом echo
переменной).
В стороне, вы не хотите это делать:
$var11="Inactive"
Общее правило состоит в том, что вы используете «голое» имя переменной для установки значения, а Используйте префикс $
, если вы не используете более продвинутые возможности Bash
, такие как ((...))
:
pax> var11=42
pax> echo ${var11}
42