嗨,我有以下代码
#!/bin/bash
date=(2016-07-18-08,2016-07-18-09,2016-07-18-10)
date2=(2016-07-18-09,2016-07-18-10,2016-07-18-11)
timestamp=(1468832400000,1468836000000,1468839600000)
for ((i=0; i<${#date[@]}; i++))
do
for ((j=${timestamp[i]}; j<${timestamp[$((i+1))]}; j=j+900000))
do
hive -f analytics_scores.hql --hiveconf start=$j --hiveconf end=$j+900000 --hiveconf startdate=${date[i]} --hiveconf enddate=${date2[i]}
done
done
当我运行它时,出现以下错误:
((:j <:语法错误:预期的操作数(错误标记为“ <”)
我的第二个for循环中的第二个参数似乎有问题(j
我已经检查了所有令牌错误,但是找不到类似的东西。“ $”旁边的“ <”似乎有问题。也许它不喜欢这样,但是我不知道为什么还是找不到其他方式。任何帮助表示赞赏。
谢谢!
循环很好,您的问题是您的变量不是bash数组。尝试echo ${timestamp[1]}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句