Linuxのシェルで数字を扱う場合には、数字の表記法に注意します。
記事の目次
bashで数字の表記を行う!(先頭の「0」なし)
bashで先頭の「0」なしで数値を記述すると、10進法と解釈されます。
$ printf "%d\n" 10 10
bashで数字の表記を行う!(先頭の「0」あり)
bashで先頭の「0」ありで数値を記述すると、8進法と解釈されます。
$ printf "%d\n" 010 8
bashで数字の表記を行う!(先頭に「0x」あり)
bashで先頭に「0x」があると、16進法と解釈されます。
$ printf "%d\n" 0x10 16
おわりに
bashでは、先頭の特に「0」に注意しましょう。時刻などで桁を揃えて、9時を「09」など表現してそのまま算術演算すると、想定外の結果になります。
関連記事
関連書籍(Amazon)