X-Git-Url: https://git.armaanb.net/?p=bin.git;a=blobdiff_plain;f=fortune;h=afb967c5833679af35705ec5e21b64a63731ff39;hp=fde90857a6d61e6d17080364c1c9a470158f888a;hb=c95e95333f93130886fa49231679a02256cfdcef;hpb=bd5bcb193b135b4fba7e23e443cd6c27b16d22b8 diff --git a/fortune b/fortune index fde9085..afb967c 100755 --- a/fortune +++ b/fortune @@ -2,28 +2,28 @@ # Fortune implementation in POSIX sh/awk usage() { - echo 'Usage: fortune [OPTIONS] + echo 'Usage: fortune [OPTIONS] a simple POSIX sh/awk implementation of fortune - -h, --help show this help message - -l, --list list installed cookie files - -c FILE, --cookie FILE specify cookie file - -n LENGTH, --min LENGTH specify min fortune length - -N LENGTH, --max LENGTH specify max fortune length + -h, --help show this help message + -l, --list list installed cookie files + -c FILE, --cookie FILE specify cookie file + -n LENGTH, --min LENGTH specify min fortune length + -N LENGTH, --max LENGTH specify max fortune length - fortune looks for fortunes in $FORTUNEDIR, which defaults to - /usr/share/fortune. + fortune looks for fortunes in $FORTUNEDIR, which defaults to + /usr/share/fortune. Exit codes: - 0 success - 1 generic error - 2 argument parsing error' + 0 success + 1 generic error + 2 argument parsing error' } parse_err() { - echo "$1" - $2 - exit 2 + echo "$1" + $2 + exit 2 } DIR=${FORTUNEDIR:-"/usr/share/fortune/"} @@ -32,64 +32,64 @@ MAXLENGTH=1000000000000 MINLENGTH=0 while [ "$1" != "" ]; do - case $1 in - -h | --help) - usage - exit - ;; - -c | --cookie) - FILE=$DIR/$2 - ;; - -n | --min) - MINLENGTH=$2 - ;; - -N | --max) - MAXLENGTH=$2 - ;; - -l | --list) - ls -1 $DIR - exit - ;; - *) - parse_err "ERROR: unknown option \"$1\"" usage - ;; - esac - shift 2 + case $1 in + -h | --help) + usage + exit + ;; + -c | --cookie) + FILE=$DIR/$2 + ;; + -n | --min) + MINLENGTH=$2 + ;; + -N | --max) + MAXLENGTH=$2 + ;; + -l | --list) + ls -1 $DIR + exit + ;; + *) + parse_err "ERROR: unknown option \"$1\"" usage + ;; + esac + shift 2 done [ "$MAXLENGTH" -lt "$MINLENGTH" ] && { - parse_err "ERROR: maximum length is less than minimum length" + parse_err "ERROR: maximum length is less than minimum length" } [ -d "$FILE" ] && { - parse_err "ERROR: directory given, please provide a file or glob of files" + parse_err "ERROR: directory given, please provide a file or glob of files" } [ "$(find $FILE -maxdepth 1 -print -quit 2> /dev/null)" ] || { - parse_err "ERROR: no such file or directory" + parse_err "ERROR: no such file or directory" } awk -v maxlen=$MAXLENGTH -v minlen=$MINLENGTH \ -'BEGIN { - f++ + 'BEGIN { + f++ } $1 == "%" { - len = length(fortunes[f]) - if ( len>maxlen || lenmaxlen || len