Create the sequence between 0 and 9 and then do a random sort and get the first one.
# seq 0 9 | sort -R | head -1
You can count up the instances of each one and see the distribution looks normal to a human.
# for i in `seq 1 100000`; do seq 0 9 | sort -R | head -1 >> /tmp/rando; done;
# cat /tmp/rando | sort -n | uniq -c | sort -nk2
9896 0
10140 1
9928 2
9975 3
9929 4
10129 5
9951 6
10007 7
9882 8
10163 9
TODO: test with chi-square? the -R flag can’t be truly random?
how about seq 0 9 | shuf -n1