maniu@securebrain.com:~/script# vi ydate.sh



#!/bin/sh

# ydate: A Bourne shell script that
# prints yestarday's date
# Output Form: Month Day Year
# From Focus on Unix: http://unix.about.com

# Set the current month day and year.
month=`date +%m`
day=`date +%d`
year=`date +%Y`


# Add 0 to month. This is a
# trick to make month an unpadded integer.
month=`expr $month + 0`

# Subtract one from the current day.
day=`expr $day - 1`

# If the day is 0 then determine the last
# day of the previous month.
if [ $day -eq 0 ]; then

  # Find the preivous month.
  month=`expr $month - 1`

  # If the month is 0 then it is Dec 31 of
  # the previous year.
  if [ $month -eq 0 ]; then
    month=12
    day=31
    year=`expr $year - 1`

  # If the month is not zero we need to find
  # the last day of the month.
  else
    case $month in
      1|3|5|7|8|10|12) day=31;;
      4|6|9|11) day=30;;
      2)
        if [ `expr $year % 4` -eq 0 ]; then
          if [ `expr $year % 400` -eq 0 ]; then
            day=29
          elif [ `expr $year % 100` -eq 0 ]; then
            day=28
          else
            day=29
          fi
        else
          day=28
        fi
      ;;
    esac
  fi
fi

# Print the month day and year.
#if [ $month -eq 1 ] ; then
#        mese="Jan"
#elif [ $month -eq 2 ] ; then
#        mese="Feb"
#elif [ $month -eq 3 ] ; then
#        mese="Mar"
#elif [ $month -eq 4 ] ; then
#        mese="Apr"
#elif [ $month -eq 5 ] ; then
#        mese="May"
#elif [ $month -eq 6 ] ; then
#        mese="Jun"
#elif [ $month -eq 7 ] ; then
#        mese="Jul"
#elif [ $month -eq 8 ] ; then
#        mese="Aug"
#elif [ $month -eq 9 ] ; then
#        mese="Sep"
#elif [ $month -eq 10 ] ; then
#        mese="Oct"
#elif [ $month -eq 11 ] ; then
#        mese="Nov"
#elif [ $month -eq 12 ] ; then
#        mese="Dec"
#fi
#echo $month $day $year
echo $year-$month-$day

exit 0




:q!