#!/bin/bash
# Skrypt dayinpast określający dzień tygodnia dla zadanej daty.

if [ $# -ne 3 ] ; then
  echo "Użycie: $(basename $0) dzień miesiąc rok " >&2
  echo "Data wyrażona za pomocą liczb (np. 3 5 1791 )." >&2
  exit 1
fi

date --version > /dev/null 2>&1       # Ukrycie ewentualnych komunikatów o błędach.
baddate="$?"                          # Sprawdzenie jedynie zwracanego kodu.

if [ $baddate -eq 0 ] ; then
  date -d $2/$1/$3 +"To był/była %A."
else

  if [ $1 -lt 10 ] ; then
    pattern=" $1[^0-9]"
  else
    pattern="$1[^0-9]"
  fi

  dayofweek="$(ncal $2 $3 | grep "$pattern" | cut -c1-2)"

  case $dayofweek in 
    Su ) echo "To była niedziela.";     ;;
    Mo ) echo "To był poniedziałek.";   ;;
    Tu ) echo "To był wtorek.";         ;;
    We ) echo "To była środa.";         ;;
    Th ) echo "To był czwartek.";       ;;
    Fr ) echo "To był piątek";          ;;
    Sa ) echo "To była sobota.";        ;;
  esac
fi
exit 0
