当我运行这部分我的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将其视为十进制,即使前导零通常会使它们成为八进制。