在shell中,有时候会获取当前的时候,24小时制的。如果当前是8点钟,那么我们得到的时间 +%H 是 08,在 08进行取模运算是,就会出现 value too great for base 的错误。
这是因为,在C,perl, shell等语言中,以0开头的数,它认为是8进制数导致的。如果想让08来按照10进制来运算,则告诉它用10进行就可以了。
hour=08
if [ $((10$hour%2)) -eq 0 ]
这样就可以了。
参考以下链接
在shell中,有时候会获取当前的时候,24小时制的。如果当前是8点钟,那么我们得到的时间 +%H 是 08,在 08进行取模运算是,就会出现 value too great for base 的错误。
这是因为,在C,perl, shell等语言中,以0开头的数,它认为是8进制数导致的。如果想让08来按照10进制来运算,则告诉它用10进行就可以了。
hour=08
if [ $((10$hour%2)) -eq 0 ]
这样就可以了。
参考以下链接