我试试
echo 10**2
打印10**2
。如何使它工作?
答案 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)
的作用是值是内部执行命令行的结果
()