From: Armaan Bhojwani Date: Mon, 1 Mar 2021 04:40:17 +0000 (-0500) Subject: fortune: Add argument parsing X-Git-Tag: v0.0.1~37 X-Git-Url: https://git.armaanb.net/?p=bin.git;a=commitdiff_plain;h=8eabed850e3f99d2da0a7eac3884bf565cd5fdba fortune: Add argument parsing --- diff --git a/fortune b/fortune index 3f4e961..4868b1a 100755 --- a/fortune +++ b/fortune @@ -1,6 +1,35 @@ #!/usr/bin/sh -e # Fortune implementation in awk +usage() +{ + echo "fortune -- a simple awk/POSIX sh implementation of fortune" + echo "" + echo "\t-h --help show this help message" + echo "\t--file=\$FILE specify path to cookie file" +} + +FILE="$(find /usr/share/fortune/ -type f -not -name '*.dat')" +while [ "$1" != "" ]; do + PARAM=`echo $1 | awk -F= '{print $1}'` + VALUE=`echo $1 | awk -F= '{print $2}'` + case $PARAM in + -h | --help) + usage + exit + ;; + -f | --file) + FILE=$VALUE + ;; + *) + echo "ERROR: unknown parameter \"$PARAM\"" + usage + exit 1 + ;; + esac + shift +done + awk '$1 == "%" { sub(/%/, "") ++f @@ -14,4 +43,4 @@ END { "date +%N" | getline time srand(time) print fortunes[int(rand() * f) + 1] -}' ${1:-"/usr/share/fortune/cookie"} +}' $FILE