Bash错误:对于base来说,值太大(错误标记为“09”)

前端之家收集整理的这篇文章主要介绍了Bash错误:对于base来说,值太大(错误标记为“09”)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我运行这部分我的bash脚本时,我得到一个错误

脚本

value=0
for (( t=0; t <= 4; t++ ))
do
d1=${filedates[$t]}
d2=${filedates[$t+1]}
((diff_sec=d2-d1))
SEC=$diff_sec
compare=$((${SEC}/(60*60*24)))
value=$((value+compare))
done

产量

jad.sh: line 28: ((: 10#2014-01-09: value too great for base (error token is "09")
jad.sh: line 30: /(60*60*24): Syntax error: operand expected (error token is "/(60*60*24)")

d1和d2是2014-01-09和2014-01-10形式的日期

有任何解决方案吗?

将字符串“10#”放在变量的前面。这使得bash将其视为十进制,即使前导零通常会使它们成为八进制。

猜你在找的Bash相关文章