Linuxのシェルで数字の表記法に注意する!(bash:先頭の「0」)

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)