我正在使用 bash 编写脚本,我得到这样的负数
-001 , -002 , -003 , ........................., -008 , -009 , -010 , -011 , -012 。 ……
我必须将它们更改为正数,所以我决定将 -1 与它们相乘。然后
$ val=$(( -1*-001 ))
$ echo $val
$ 1
$ val=$(( -1*-002 ))
$ echo $val
$ 2
结果在 -007 之前都很好,但是当我与 -008 和 -009 相乘时,会出现如下错误
$ val=$(( -1*-008 ))
bash: -1*-008: value too great for base (error token is "008")
$ val=$(( -1*-009 ))
bash: -1*-009: value too great for base (error token is "009")
另一个奇怪的行为是,当我乘以 -010、-011、-012 等等......不寻常的结果发生如下
$ val=$(( -1*-010 ))
$ echo $val
$ 8
$ val=$(( -1*-011 ))
$ echo $val
$ 9
$ val=$(( -1*-012 ))
$ echo $val
$ 10
$ val=$(( -1*-013 ))
$ echo $val
$ 11
and so on............
为什么会发生这种情况?