bash
não entende números de ponto flutuante.
Citando a página de manual bash
, seção AVALIAÇÃO ARITMÉTICA :
Evaluation is done in fixed-width integers […].
Portanto, ((3 < 4))
ou ((3 < 2))
são expressões aritméticas corretas. Você pode digitar o seguinte:
$ echo "$((3 < 4)) -- $((3 < 2))"
output:
1 -- 0
Mas $ echo $((3.3 < 3.6))
retornará uma mensagem de erro de sintaxe. No seu exemplo, você está realmente comparando strings. Daí algum exemplo:
$ [[ ((3.56 < 04.90)) ]]; echo $?
output:
1