if [[ 3 -gt $count2 ]] # with count2 being 385
then
echo "$count2"
else
echo "works"
Почему условие входит иначе, хотя 3 не больше 385 (перефразировано, чтобы, надеюсь, сделать более понятным)?.
Входит в else
точно потому что 3 не больше 385. Ваше условие проверяет, если 3 > 385
, выполняет бит then
, если он делает, или выполняет бит else
, если это не так. Это так, как и ожидалось (в любом случае из кода, даже если это не то, что вы ожидали).
Возможно, вы хотели поставить условие в противоположноеСмысл, трудно сказать по твоему вопросу. Если это это случай, это будет $count2 -gt 3
.