#!/bin/bash # nextday # given day month year, returns values for the next day in day month year day=$1 mon=$2 year=$3 # check that year entry value is valid if [ $year -lt 1 ] then echo "Invalid year = $year" exit fi # check that month entry value is valid if [ $mon -lt 1 ] then echo "Invalid month = $mon" exit fi if [ $mon -gt 12 ] then echo "Invalid month = $mon" exit fi # check for days in month ndmon=`monthdays $mon $year` # check that day entry value is valid if [ $day -lt 1 ] then echo "Invalid day = $day" exit fi if [ $day -gt $ndmon ] then echo "Invalid day = $day" exit fi # subtract a day and check let day=day-1 if [ $day -lt 1 ] then let mon=$mon-1 if [ $mon -lt 1 ] then mon=12 let year=$year-1 fi day=`monthdays $mon $year` fi # return new date values echo "$day $mon $year"