#!/bin/sh -f # Make damn cal program understand month names, for chrissake - erco # CONVERT A MONTH NAME OR NUMBER TO A NUMBER Month2Number() { case "$1" in 01|1|jan|Jan|january) mo=01;; 02|2|feb|Feb|febuary) mo=02;; 03|3|mar|Mar|march) mo=03;; 04|4|apr|Apr|april) mo=04;; 05|5|may|May) mo=05;; 06|6|jun|Jun|june) mo=06;; 07|7|jul|Jul|july) mo=07;; 08|8|aug|Aug|august) mo=08;; 09|9|sep|Sep|september) mo=09;; 10|oct|Oct|october) mo=10;; 11|nov|Nov|november) mo=11;; 12|dec|Dec|december) mo=12;; *) mo=$1;; esac; } # MAIN { CAL=/bin/cal if [ -x /usr/bin/cal ]; then CAL=/usr/bin/cal; fi # LINUX YEAR=`date | awk '{ print $6 }'` if [ $# = 0 ]; then $CAL; exit 0; elif [ $# = 1 ]; then Month2Number "$1"; if [ $mo -gt 12 ]; then $CAL $1; else $CAL $mo $YEAR; fi; exit 0; elif [ $# = 2 ]; then Month2Number "$1"; $CAL $mo $2; exit 0; fi $CAL $* exit 0 }