1
下面的代碼打印4如預期錯誤的結果:BASH讓command..gives上填充數字
let x=21
let x=$x-1
echo $x
但下列打印16:
let x=000021
let x=$x-1
echo $x
有人能解釋的區別?
下面的代碼打印4如預期錯誤的結果:BASH讓command..gives上填充數字
let x=21
let x=$x-1
echo $x
但下列打印16:
let x=000021
let x=$x-1
echo $x
有人能解釋的區別?
00021是八進制常數。輸出16是正確的十進制結果。 要獲得八進制值使用
printf "%o\n" $x
刪除前導零,如果數字是小數。