bash shell 脚本中的负数



我需要一些关于bash数学表达式脚本的帮助。我需要下面的表达式是负 2 的 63 次方,但我尝试了 "、"''、(()) 的各种组合,甚至保持正值但将其乘以 -1,但我似乎无法正确理解语法。

原文表达:

kw=`expr 2^63 | bc`

给了我9223372036854775808(这是正确的),但我需要得到一个 -9223372036854775808。

我希望能够做一个 kw= expr -2^63 | bc来获得负面结果,但它并不像我希望的那么简单。因此,我对表达进行了多次不同的排列尝试。

任何帮助将不胜感激。

你来了:

$ kw=$(echo -2^63 | bc)
$ echo $kw
-9223372036854775808

更新

@DigitalTrauma是对的,如果你在bash,那么在这里使用 bash 字符串会更好(少一个进程,效率更高):

kw=$(bc <<< -2^63)

由于这是 bash,你甚至不需要 echo ; 你可以在这里使用 bash 字符串代替:

$ kw=$(bc <<< -2^63)
$ echo $kw
-9223372036854775808

相关内容

  • 没有找到相关文章

最新更新