# Program wypisuje datę w języku polskim lub angielskim
#------------------------------------------------------

if test  $# !=  1 
then echo Program wymaga podania dokładnie jednego parametru:
     echo a - data w wersji angielskiej
     echo p - data w wersji polskiej
else
     case $1 in
       a) date;;
       p) set `date`
          case $1 in
            Mo*) DZIEN=Poniedziałek;;
            Tu*) DZIEN=Wtorek;;
            We*) DZIEN=Środa;;
            Th*) DZIEN=Czwartek;;
            Fr*) DZIEN=Piątek;;
            Sa*) DZIEN=Sobota;;
            Su*) DZIEN=Niedziela;;
          esac
          case $2 in
            Jan*) MIES=stycznia;;
            Feb*) MIES=lutego;;
            Mar*) MIES=marca;;
            Apr*) MIES=kwietnia;;
            Ma*)  MIES=maja;;
            Jun*) MIES=czerwca;;
            Jul*) MIES=lipca;;
            Aug*) MIES=sierpnia;;
            Sep*) MIES=września;;
            Oct*) MIES=października;;
            Nov*) MIES=listopada;;
            Dec*) MIES=grudnia;;
          esac
          echo $DZIEN, $3 $MIES $6, $4;;
     esac
fi

Uwaga

W rozwiązaniu wykorzystano program set. Dokonuje on podmiany argumentów skryptu. Po wykonaniu tego programu argumenty skryptu są bezpowrotnie tracone. Pierwszy argument set staje się pierwszym argumentem skryptu, drugi argument set staje się drugim argumentem skryptu itd.