关闭

Shell:value too great for base

标签: shellLinux
623人阅读 评论(0) 收藏 举报
分类:

今天定时计划删除文件没执行成功,查看了下日志,发现报错为line 38 :08:value too great 

for base (error token is "08")。


查看了下代码:

其它的忽略不计,重点看下38行

.............

 if [ $[$(date +%d)-$keepTime] == 0 ]; then

..............


问题就出在这里,今天是7月8号,所以$(date +%d)变成了08,而0x对于shell来说,会解析成8进制,

08超过了8进制的表示范围,所以报错:shell value too great for base;


解决方案:

指定其为10进制即可,在结果前加上10#

..........

 if [ $[10#$(date +%d)-$keepTime] == 0 ]; then

...........

执行shell,顺利执行结果!



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:57393次
    • 积分:1005
    • 等级:
    • 排名:千里之外
    • 原创:47篇
    • 转载:5篇
    • 译文:1篇
    • 评论:1条
    文章分类