如果'var = 08',如何在bash中增加变量'var'

tot*_*tti 1 variables bash increment

当我仅在变量值为08或09时显示变量后,才会显示变量

a=08; ((a++)); echo "$a"

产量

~$ a=08;  ((a++));  echo "$a"
bash: ((: 08: value too great for base (error token is "08")
08
Run Code Online (Sandbox Code Playgroud)

怎么了 ??
我想要结果09(不是9.我知道9可以实现bc <<< "08+01")

Som*_*ude 9

当你给一个带零的数字加前缀时,shell认为它是一个八进制数,而八进制数字只从0到7.

您可能希望保留不带前导零的数字,因此它是正常的十进制数,并且仅在打印值时添加前导零.

a=8; ((a++)); printf "%02d\n" $a
Run Code Online (Sandbox Code Playgroud)