#!/bin/bash
#检查函数,判断产生的数值是否在数组中已经存在
function checkarray() {
    local value=${!n}
    for ((i=1;i < $#;i++)) {
    if [ "${!i}" == "${value}" ];then
        echo "y"
        return 0
    fi
    }
    echo "n"
    return 1
}
#生成要产生数组个数,生成随机数
count_line=$(wc -l xx|awk -F ' ' '{print$1}')
for ii in $(seq ${count_line});do
    arr=$(($RANDOM%${count_line}+1))
    for ((i=0; ;i++));do
    if [ $(checkarray "${array[@]}" "$arr") == "y" ];then
        arr=$(($RANDOM%${count_line}+1))
    else
        array[$ii]=$arr
        break
    fi
    done
    echo ${array[$ii]}
done
#对于生成的数据二次判断是否有相同值
for i in $(seq ${#array[@]});do
    if [ $(checkarray "${array[@]}" "$array[i]") == "y" ];then
        echo "error"
        break
    fi
done