1. 程式人生 > >-bash: 08: value too great for base (error token is "08")

-bash: 08: value too great for base (error token is "08")

在使用shell的時候,獲取的當前的小時或月份(08,09等)進行計算是,提示:

hour=08
hour=$((hour)) 
-bash: 08: value too great for base (error token is "08")

搜尋之後發現0開頭的數字表示八進位制,在八進位制數中,當然沒有08,09 等這樣的數,所以需要在$hour 前加 10# ,這樣就表示 這是十進位制,就不會報錯了。
修改之後:

hour=08
hour=$((10#$hour))

這樣獲取的hour 就是 我們所要的十進位制 8