bash: 08: value too great for base (error token is "08")

用bash写了一个脚本,里面有个数字是一直自增的,当增加到08的时候,再下一次运算就出错了,提示:

bash: 08: value too great for base (error token is "08")

从提示一看就知道应该是当成8进制处理了,因为自增的数字为了格式化前面有个0。

解决方法就得把这个自增的数字弄成十进制的,这就要在数字前面加上 10#。

例如:echo $((08 + 1)) 这个会出现上面的错误:bash: 08: value too great for base (error token is "08")

而改为 echo $((10#08 + 1)) 就能正确地得到结果9了。

2012年07月07日