Why does script for adding a day to last day of month which is Friday fail to give correct output?

Solution Verified - Updated -

Issue

  • The following script is to add a day if next day is Sat or Sun, its giving us 02/Nov/2014 while output should be 03/Nov/2014
#!/bin/bash
CurrDateValtest=20141031
NxtDateValtest=`date --date="$(date -d "$CurrDateValtest")+1 day" '+%Y%m%d'`
NxtDaytest=`date --date="$(date -d "$NxtDateValtest")" "+%a"`
echo "Next Day value is $NxtDaytest"
if [ $NxtDaytest = 'Sun' ]
    then
    NxtDateValtest=`date --date="$(date -d "$NxtDateValtest")+1 day" '+%Y%m%d'`
    echo "Displaying next day value after adding as --> $NxtDateValtest"
else
    if [ $NxtDaytest = 'Sat' ]
    then
        NxtDateValtest=`date --date="$(date -d "$NxtDateValtest")+2 day" '+%Y%m%d'`
        echo "Displaying next day value after adding as --> $NxtDateValtest"
    fi
fi
  • This problem is only prone to last working day of month if that happens to be a Friday.

Environment

  • Red Hat Enterprise Linux 6.4

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content