memo/20231221
created 2023-12-21 modified 2023-12-21
bashの数値計算でゼロがアタマに付いていると8進数になる件
bash の
$(( 20 + 1 )) で計算ができて expr 20 + 1 コマンドとだいたい同じだが、
アタマにゼロが付いていると、8進数として解釈されて、意図した結果とは異なってしまう。
[keizo@fedora _KNOW-HOW]$ echo $(( 020 + 1 )) 17
expr は微妙に違うらしい。
[keizo@fedora _KNOW-HOW]$ expr 020 + 1 21
アタマに 基数# をつけて 10#020 とすれば、10進数の20、として認識される。
[keizo@fedora _KNOW-HOW]$ echo $(( 10#020 + 1 )) 21
【* 日々のメモ】