# 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
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.