diff options
Diffstat (limited to 'examples/scripts/krand.bash')
-rwxr-xr-x | examples/scripts/krand.bash | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/examples/scripts/krand.bash b/examples/scripts/krand.bash deleted file mode 100755 index dfdfd32..0000000 --- a/examples/scripts/krand.bash +++ /dev/null @@ -1,74 +0,0 @@ -# Originally -# -# From: bsh20858@news.fhda.edu (Brian S Hiles) -# Newsgroups: comp.unix.shell -# Subject: Re: getting random numbers -# Date: 23 Jan 1997 23:27:30 GMT -# Message-ID: <5c8s52$eif@tiptoe.fhda.edu> - -# @(#) krand Produces a random number within integer limits -# "krand" Korn shell script generates a random number in a -# specified range with an optionally specified ``seed'' value. -# Author: Peter Turnbull, May 1993 -# Modified by: Becca Thomas, January 1994 - -# changed the optional third argument to a -s option, converted to -# bash v2 syntax -- chet@po.cwru.edu - -PROGNAME=${0##*/} -USAGE="usage: $PROGNAME [-s seed] lower-limit upper-limit" - -Seed=$$ # Initialize random-number seed value with PID - -usage() -{ - echo ${PROGNAME}: "$USAGE" >&2 -} - -errexit() -{ - echo ${PROGNAME}: "$@" >&2 - exit 1 -} - -# Process command-line arguments: -while getopts "s:" opt; do - case "$opt" in - s) Seed=$OPTARG ;; - *) usage ; exit 2;; - esac -done - -shift $(($OPTIND - 1)) - -case $# in - 2) Lower=$1; Upper=$2 ;; - *) usage ; exit 2;; -esac - -# Check that specified values are integers: -expr "$Lower" + 0 >/dev/null 2>&1 -[ $? -eq 2 ] && { errexit "lower ($Lower) not an integer"; } -expr "$Upper" + 0 >/dev/null 2>&1 -[ $? -eq 2 ] && { errexit "upper ($Upper) not an integer"; } -expr "$Seed" + 0 >/dev/null 2>&1 -[ $? -eq 2 ] && { errexit "seed ($Seed) not an integer"; } - -# Check that values are in the correct range: -if (( "$Lower" < 0 )) || [ ${#Lower} -gt 5 ]; then - errexit "lower limit ($Lower) less than zero" -fi -if (( "$Upper" > 32767 )) || [ ${#Upper} -gt 5 ]; then - errexit "upper limit ($Upper) greater than 32767" -fi -if (( "$Seed" < 0 )) || (( "$Seed" > 32767 )) || [ ${#Seed} -gt 5 ]; then - errexit "seed value ($Seed) out of range (0 to 32767)" -fi -(( "$Upper" <= "$Lower" )) && errexit "upper limit ($Upper) <= lower limit ($Lower)" - -# Seed the random-number generator: -RANDOM=$Seed -# Compute value, scaled within range: -let rand="$RANDOM % ($Upper - $Lower + 1) + $Lower" -# Report result: -echo $rand |