在 bash 中提高到非整数指数



如何在 bash 中将数字提高到非整数指数?

例如,这个:

 echo $((10**0.25))

zsh 中工作,但在 Bash 中它给出以下错误:

-bash:10**0.25:语法错误:无效的算术运算符(错误标记为".25")

Bash 仅支持整数算术。您有很多选择,其中之一是awk

awk 'BEGIN {print 10**0.25}'
旧的

待机bc也可以工作

$ echo "e(0.25*l(10))" | bc -l
1.77827941003892280121

根据手册,Bash 以固定宽度的整数计算外壳算术。您需要使用更强大的功能,例如 perl

perl -e 'print 10**.25'

另一种选择是octave

octave --silent --eval '10 ^ 0.25'

最新更新