标签: bash command let
以下代码按预期打印4:
let x=21 let x=$x-1 echo $x
但以下打印16:
let x=000021 let x=$x-1 echo $x
有人可以解释一下这个区别吗?
答案 0 :(得分:3)
00021是八进制常量。输出16是正确的十进制结果。 要获得八进制值
printf "%o\n" $x
如果数字为十进制,则删除前导零。