Shell:value too great for base

今天定时计划删除文件没执行成功,查看了下日志,发现报错为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,顺利执行结果!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值