As another option for reading a random line from a file (and assigning it to a variable), consider a simplified reservoir sampling method, converted from [perl](https://unix.stackexchange.com/a/223278/117549) to awk, with [Peter.O's seeding improvement](https://unix.stackexchange.com/a/211726/117549):
VARIA=$(awk -v seed=$RANDOM 'BEGIN { srand(seed) } { if (rand() * FNR < 1) { line=$0 } } END { print line }' /usr/share/dict/words)
Here's the awk script, wrapped nicely:
awk -v seed=$RANDOM '
BEGIN {
srand(seed)
}
{
if (rand() * FNR < 1) {
line=$0
}
}
END {
print line
}' /usr/share/dict/words
because of the way awk's `srand()` works, you'll get the same value if you run this script within the same second, unless you seed it with something else random. Here I'm selecting words from /usr/share/dict/words, just as a source of text.
This method does not care how many lines are in the file (my local copy has 479,828 lines), so it should be pretty flexible.