From 8eabed850e3f99d2da0a7eac3884bf565cd5fdba Mon Sep 17 00:00:00 2001 From: Armaan Bhojwani Date: Sun, 28 Feb 2021 23:40:17 -0500 Subject: [PATCH] fortune: Add argument parsing --- fortune | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) 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 -- 2.39.2