(Возможно, вы захотите отредактировать свой пост, включив в него то, что вы ожидаете, как правильный ответ для вашего выражения; -)
Использовать awk.Требуется подсказка, что вы ожидаете вычислений с плавающей запятой, поэтому измените любые части выражения целого числа, чтобы включить конечный .0
(как показано ниже).
i=0.0545 j=360
awk 'BEGIN {
print "i=" '$i' "\tj=" '$j' "\texpr="(1.0+ '$i' * 2.43 / 100.0) ^ ('$j'/940.0) -1.0
}' /dev/null
# output
i=0.0545 j=360 expr=0.000506991
Еще лучше, измените BEGIN на END и используйте awkНазначение var строки cmd, то есть
awk 'END{
print "i=" i "\tj=" j "\texpr="(1.0+ i * 2.43 / 100.0) ^ (j/940.0) -1.0
}' i=0.0545 j=360 /dev/null
#output
i=0.0545 j=360 expr=0.000506991
(я недавно читал, что BEGIN не будет обрабатывать назначения в строке cmd, но он работает с END (очевидно)).
Надеюсь, это поможет.