Parece que a variável count
tem alguns espaços indesejáveis extras que estão fazendo com que sua condição falhe em ser um tipo inteiro.
Você precisa remover os espaços extras da sua variável para corrigi-los. Use uma ferramenta externa como xargs
para remover os espaços. A coisa útil com xargs
é englobar os espaços iniciais e finais na variável.
if ! [[ $( xargs <<< "$count" ) =~ ^[0-9]+$ ]]
then
echo "string"
else
echo $count
fi
Se não for para uma ferramenta externa como xargs
use a expansão de parâmetro fornecida pelo próprio shell
if ! [[ "${count// /}" =~ ^[0-9]+$ ]]
then
echo "string"
else
echo $count
fi
A sintaxe ${count// /}
substituirá todos os espaços por uma string vazia e a string resultante será usada na comparação com a expressão regular definida.