私のbashスクリプトのこの部分を実行中にエラーバッシュエラー:(エラー・トークンが "09" である)
スクリプト
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
どのような解決方法をお願いしますか?
あなただけのフォームYYYY-MM-DDで日付を引くことはできません。あなたはtime_tのタイムスタンプのような普通の数字に変換する必要があります(これは秒になります)。 –
09を8進表記に変換しているようですが、実際には '2014 - 1-9'を計算しようとしていますが、' 09'は有効な数字ではありません(正面の0は10進数ではなく8進数を使用することを意味します)それは不平を言っている。 – robbrit
ソリューションrobbirtは何ですか? – user3178889