Você não comparou com sucesso os números no bash, você apenas testou que o "bash" (o comando test
) testou com sucesso o tamanho da string 2.0000000000000000000000000001
e redirecionou a saída inexistente para uma string. arquivo chamado 2
.
Você deseja o operador -gt
, exceto:
[ 2.0000000000000000000000000001 -gt 2 ] && echo yes
-bash: [: 2.0000000000000000000000000001: integer expression expected
Você pode pensar em:
[[ 2.0000000000000000000000000001 > 2 ]] && echo yes
e obtenha:
yes
exceto que você não está comparando inteiros nesse ponto, você está classificando strings:
[[ 9 > 11 ]] && echo yes
yes
Para comparar números de ponto flutuante em Python, consulte Stack Overflow para mais detalhes, como este