GTU OS Program - 13 Date Validator
13. Write a shell script to validate the entered date. (eg. Date format is : dd-mm-yyyy).
Complete code of the program
- echo "Date validator"
- #Initializing values of date, month and year
- dd=0
- mm=0
- yy=0
- #initializing no of days in a month
- days=0
- read -p "Enter day (dd) : " dd
- read -p "Enter Month (mm) : " mm
- read -p "Enter Year (yyyy) : " yy
- #checking for invalid month
- if [ $mm -le 0 -o $mm -gt 12 ]
- then
- echo "$mm is invalid month. "
- exit 1
- fi
- #finding out no. of days in a month
- case $mm in
- 1 | 3 | 5 | 7 | 8 | 10 | 12)
- days=31
- ;;
- 2)
- days=28
- ;;
- 4 | 6 | 9 | 11)
- days=30
- ;;
- *)
- days=-1
- ;;
- esac
- #checking for leap year
- if [ $mm -eq 2 ]
- then
- a=`expr $yy % 4`
- b=`expr $yy % 100`
- c=`expr $yy % 400`
- if [ $a -eq 0 -a $b -ne 0 -o $c -eq 0 ]
- then
- days=29
- else
- break
- fi
- fi
- if [ $dd -le 0 -o $dd -gt $days ]
- then
- echo "$dd day is invalid "
- exit 3
- fi
- #No error means date is valid
- echo "$dd/$mm/$yy is a Valid Date"
Interpreting the date.sh file and executing it in terminal
- tkanu025@hp:~/lab_solutions$ chmod +x date.sh
- tkanu025@hp:~/lab_solutions$ ./date.sh
Output
Comments