7月に動作していた処理が8月にエラー
TL;DR 0始まりの数字を10進数で解釈させたい場合は$((10#$val))のように記載する。 経緯 date +%mの結果は、8月の場合は'08’となる。これを先頭の0を取って比較したいため$(($val))とやっていたところ、7月までは問題ないのだが8月になって以下のようなエラーが出る。 08: value too great for base (error token is "08") bashでは一文字目が0の数字は8進数とみなされるため、08という表記はダメ、というエラー。 対応としては、$((10#$val))のように変数の頭に'10#‘をつけることで10進数で解釈させることができる。 https://stackoverflow.com/questions/8078167/printf-in-bash-09-and-08-are-invalid-numbers-07-and-06-are-fine 同じようなことは過去してきたと思ったのだが、今回初めて遭遇してかなりびっくりした。