Você não pode usar &&
dentro de colchetes simples. Você tem diferentes opções:
-
Use
-a
dentro de[ ... ]
.if [ $(bc <<< "$result > 17.5") -eq 1 -a $(bc <<< "$result <= 18.2") -eq 1 ]
-
Use colchetes duplos
[[ ... ]]
que suportam&&
.if [[ $(bc <<< "$result > 17.5") == 1 && $(bc <<< "$result <= 18.2") == 1 ]]
-
Use duas condições
[ ... ]
separadas por&&
.if [ $(bc <<< "$result > 17.5") -eq 1 ] && [ $(bc <<< "$result <= 18.2") -eq 1 ]
-
Você pode usar a comparação de strings no resultado das duas expressões
[[ $( bc <<< "$result > 17.5; %result <= 18.2" ) == $'1\n1' ]]
-
bc
compreende&&
, também:if [[ $(bc <<< "$result > 17.5 && $result <= 18.2") == 1 ]]
Eu prefiro 5 .