如何在bash中进行取幂

时间:2010-10-08 08:07:19

标签: bash syntax operators

我试试

echo 10**2 

打印10**2。如何使它工作?

3 个答案:

答案 0 :(得分:21)

你可以这样做:

let var=10**2   # sets var to 100.

甚至更好和推荐的方式:

var=$((10**2))  # sets var to 100.

如果您只想打印表达式结果,可以执行以下操作:

echo $((10**2)) # prints 100.

对于大数字,您可能希望使用bc的指数运算符:

bash:$ echo 2^100 | bc
1267650600228229401496703205376

如果您想将上述结果存储在变量中,可以再次使用$(())语法:

 var=$((echo 2^100 | bc))  

答案 1 :(得分:4)

各种方式

x=2
echo $((x**2))

awk中

awk 'BEGIN{print 2**2}'

BC

echo "2 ^ 2" |bc

直流

dc -e '2 2 ^ p'

答案 2 :(得分:0)

实际上var=$((echo 2^100 | bc))不起作用 - bash试图在(())内进行数学运算。但是一个 而命令行序列则会产生错误

var=$(echo 2^100 | bc)的作用是值是内部执行命令行的结果 ()