Pelo padrão POSIX para bc :
Unlike all other operators, the relational operators ( '<', '>', "<=", ">=", "==", "!=" ) shall be only valid as the object of an if, while, or inside a for statement.
Parece ser uma extensão GNU / Linux para permitir que comparações simples sejam avaliadas como verdadeiras ou falsas.
Em vez de verificar a saída de bc para 1 ou 0, use apenas test
diretamente:
if [ 5.3 -ge 5.3 ]; then echo hi; else echo bye; fi
ou use a expansão aritmética (ksh93):
if (( 5.3 >= 5.3 )); then echo hi; else echo bye; fi
ou use o awk:
if awk -v x=5.3 -v y=5.3 'BEGIN { exit (x >= y) ? 0 : 1 }'; then echo hi; else echo bye; fi