I used this to create random decisions for a while:
if (( RANDOM % 2 == 0 )); then echo Yes; else echo No; fi
I also logged those decisions. I got significantly more No then Yes. I could never reproduce the bias in a loop. But in real life usage, I got more No. Could be by chance of course. But it made me worried enough that I switched to urandom:
bit=$(od -An -N1 -i /dev/urandom)
if (( $bit &1 ))
then echo "Yes"
else echo "No"
fi