Você não pode usar && dentro de colchetes simples. Você tem diferentes opções:
-
Use
-adentro 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' ]] -
bccompreende&&, também:if [[ $(bc <<< "$result > 17.5 && $result <= 18.2") == 1 ]]
Eu prefiro 5 .