函数获取数组的随机元素 bash
function to get a random element of an array bash
我知道如何从这样的数组中获取随机项:
declare -a ARRAYISO=(100 200 400 800)
echo ${ARRAYISO["$[RANDOM % ${#ARRAYISO[@]}]"]}
我显然可以对每个数组都这样做,就像驴子一样,但我想创建一个函数,它接受一个数组作为参数,returns 一个随机元素。
我正在尝试:
randArrayElement() {
randElement=${["$[RANDOM % ${#[@]}]"]}
echo $randElement
}
randArrayElement ARRAYISO
但它不喜欢我的 $1...我试过 ", ', ` ,bash 不解释 $1 var...
将您的函数更改为:
randArrayElement(){ arr=("${!1}"); echo ${arr["$[RANDOM % ${#arr[@]}]"]}; }
并将其命名为:
randArrayElement "ARRAYISO[@]"
我知道如何从这样的数组中获取随机项:
declare -a ARRAYISO=(100 200 400 800)
echo ${ARRAYISO["$[RANDOM % ${#ARRAYISO[@]}]"]}
我显然可以对每个数组都这样做,就像驴子一样,但我想创建一个函数,它接受一个数组作为参数,returns 一个随机元素。
我正在尝试:
randArrayElement() {
randElement=${["$[RANDOM % ${#[@]}]"]}
echo $randElement
}
randArrayElement ARRAYISO
但它不喜欢我的 $1...我试过 ", ', ` ,bash 不解释 $1 var...
将您的函数更改为:
randArrayElement(){ arr=("${!1}"); echo ${arr["$[RANDOM % ${#arr[@]}]"]}; }
并将其命名为:
randArrayElement "ARRAYISO[@]"