Eth*_*ost 0 unix shell scripting ksh sed
我有一个固定长度的字符串,这是一个数字.当我将字符串分配给变量时,它被赋值为8而不是10.为什么?我怎么阻止它?
$ i=10
$ ((i=i+1))
$ echo $i
11 # Right answer
$ i=000010
$ ((i=i+1))
$ echo $i
9 # Wrong answer
Run Code Online (Sandbox Code Playgroud)
更新:答案确认数字正在转换为八进制,并且需要删除前导零.这是sed命令.
echo"000010"| sed's/0*//'