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.