I have to pick a random data in several arrays. So I made a function that takes over the array and returns a random value.
This is my code,
./pick_data.sh
pick_random_data()
{
# seed random generator
RANDOM=$$$(date +%s)
#take array as parameter
declare -a argArr="${!1}"
# pick a random entry from the domain list to check against
randomResult=${argArr[$RANDOM % ${#argArr[@]}]}
echo "$randomResult"
}
main()
{
local user_agent=(
"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/602.4.8 (KHTML, like Gecko) Version/10.0.3 Safari/602.4.8"
"INI_Ibis"
"tving/5.2.6.4720 CFNetwork/893.14.2 Darwin/17.3.0"
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063"
)
result=pick_random_data user_agent[@]
echo $result
}
main
error is
test.sh: line 27: user_agent[@]: command not found
I refer these posts,
Passing arrays as parameters in bash
https://www.christianroessler.net/tech/2015/bash-array-random-element.html
I don't know what I missing.