I just use this:
#!/bin/bash
keep_generating=1
while [[ $keep_generating == 1 ]]; do
dd if=/dev/random of=$1 bs=1 count=$2 status=none
echo Contents of $1 are:
cat $1
echo
read -p "Try generating again? " -s -n1 answer
while true; do
case $answer in
[Yy] )
echo
break
;;
[Nn] )
keep_generating=0
break
;;
*)
esac
read -s -n1 answer
done
done