【发布时间】:2016-03-11 07:21:33
【问题描述】:
我在以下简单的 bash 脚本中使用了变量“i”三次,该脚本本质上生成了数组中不存在的随机数。有人可以在这里帮助我了解每个变量的范围吗?
timestamp="9"
researchArea="5"
numberOfDimensions="8"
timeStampToInjectArray=()
dimensionToTamperArray=()
for((i=0;i<$numberOfDimensions;i++))
do
echo $i
while : ;
do
timeStampToInject=$(shuf -i 0-$timestamp -n 1)
dimensionToTamper=$(shuf -i 1-$researchArea -n 1)
flag=0
for((i=0;i<${#timeStampToInjectArray[@]};i++))
do
echo $i
if [ "${timeStampToInjectArray[i]}" -eq "$timeStampToInject" ] && [ "${dimensionToTamperArray[i]}" -eq "$dimensionToTamper" ]; then
flag=1
fi
done
if [ "$flag" -eq "0" ]; then
break
fi
done
timeStampToInjectArray+=("$timeStampToInject")
dimensionToTamperArray+=("$dimensionToTamper")
echo $timeStampToInject,$dimensionToTamper
done
【问题讨论】: