shell 中的取模问题

在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 ]

 

这样就可以了。

 

参考以下链接

http://www.yayu.org/look.php?id=157


版权声明:本文为iteye_3451原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。