08: value too great for base (error token is “08“)
发布时间
阅读量:
阅读量
在shell环境中常见于定期执行的任务。当遇到定时任务时,在相关的脚本中通常会根据时间设置相应的判断机制,并同时涉及相关的逻辑操作。
当前时间点,在你获取的时间字段值为'08','09'的情况下,则会在执行运算符计算或字段比较操作时导致错误提示。
原因:
shell 默认认为0开始是个八进制,而八进制不可能出现8,9,所以报错。
解决方法:
主动的显示指定10进制,例子(借鉴,非常不错,直接引用)
以下这个示例8点 会报08: value too great for base (error token is "08")
# 获取当前小时
current_hour=$(date +'%H')
# 计算前半点时间
half_hour=$((current_hour - 1))
解决:
# 获取当前小时
current_hour=$(date +'%H')
# 计算前半点时间
half_hour=$((10#$current_hour - 1))
如果是个负数,需要在前面加”-“,如 -10#08
全部评论 (0)
还没有任何评论哟~
