Lin*_*nas 21 shell exponential
你如何将m提高到n的幂?我到处搜索过这个.我发现写m**n应该有效,但事实并非如此.我正在使用#!/ bin/sh
小智 23
使用$ n**$ m确实有效.也许您没有使用正确的语法来评估数学表达式.以下是我在Bash上获得结果的方法:
echo $(($n**$m))
Run Code Online (Sandbox Code Playgroud)
要么
echo $[$n**$m]
Run Code Online (Sandbox Code Playgroud)
这里的方括号并不像if语句中的测试赋值器那样你也可以使用它们而不用空格.我个人更喜欢使用圆括号的前一种语法.
Bri*_*new 22
我会尝试计算器bc.有关更多详细信息和示例,请参阅http://www.basicallytech.com/blog/index.php?/archives/23-command-line-calculations-using-bc.html.
例如.
$ echo '6^6' | bc
Run Code Online (Sandbox Code Playgroud)
给力6提供6.
使用bc是一个优雅的解决方案 如果你想在bash中这样做:
$ n=7
$ m=5
$ for ((i=1, pow=n; i<m; i++)); do ((pow *= n)); done
$ echo $pow
16807
$ echo "$n^$m" | bc # just to verify the answer
16807
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43990 次 |
| 最近记录: |