É possível que antes você tenha colocado aspas em torno dos parâmetros expr , assim:
$ expr '(-105.5*7+50*3)/20 + (19^2)/7' | bc -l
22.14642857142857142857
?
Nesse caso, expr não realiza operações aritméticas e apenas imprime a expressão original:
$ expr '(-105.5*7+50*3)/20 + (19^2)/7'
(-105.5*7+50*3)/20 + (19^2)/7
Todos os cálculos acontecem no bc -l e o comando inteiro fornece a resposta correta (embora expr funcione como echo ).