#!/bin/sh time=${1:-$(date '+%H:%M')} case "$time" in *:*) ;; *) printf 'Użycie: %s [HH:MM]\n' "$0" >&2; exit 1 ;; esac hour=${time%%:*} min=${time#*:} hour=${hour#0} min=${min#0} : "${hour:=0}" "${min:=0}" h=$((hour % 12)) [ "$h" -eq 0 ] && h=12 next=$((h % 12 + 1)) w() { case $1 in 5) echo pięć ;; 10) echo dziesięć ;; 15) echo kwadrans ;; 20) echo dwadzieścia ;; esac } case $min in 0) printf 'punkt %s\n' "$h" ;; 1) printf 'po %s\n' "$h" ;; [2-6]) [ "$min" -eq 5 ] && printf 'pięć po %s\n' "$h" || printf '~pięć po %s\n' "$h" ;; [7-9]|1[01]) [ "$min" -eq 10 ] && printf 'dziesięć po %s\n' "$h" || printf '~dziesięć po %s\n' "$h" ;; 1[2-6]) [ "$min" -eq 15 ] && printf 'kwadrans po %s\n' "$h" || printf '~kwadrans po %s\n' "$h" ;; 1[7-9]|2[01]) [ "$min" -eq 20 ] && printf 'dwadzieścia po %s\n' "$h" || printf '~dwadzieścia po %s\n' "$h" ;; 2[2-6]) [ "$min" -eq 25 ] && printf 'pięć do wpół do %s\n' "$next" || printf '~pięć do wpół do %s\n' "$next" ;; 2[7-9]|3[01]) [ "$min" -eq 30 ] && printf 'wpół do %s\n' "$next" || printf '~wpół do %s\n' "$next" ;; 3[2-6]) [ "$min" -eq 35 ] && printf 'pięć po wpół do %s\n' "$next" || printf '~pięć po wpół do %s\n' "$next" ;; 3[7-9]|4[01]) [ "$min" -eq 40 ] && printf 'za dwadzieścia %s\n' "$next" || printf '~za dwadzieścia %s\n' "$next" ;; 4[2-6]) [ "$min" -eq 45 ] && printf 'za kwadrans %s\n' "$next" || printf '~za kwadrans %s\n' "$next" ;; 4[7-9]|5[01]) [ "$min" -eq 50 ] && printf 'za dziesięć %s\n' "$next" || printf '~za dziesięć %s\n' "$next" ;; 5[2-6]) [ "$min" -eq 55 ] && printf 'za pięć %s\n' "$next" || printf '~za pięć %s\n' "$next" ;; 5[7-9]) printf 'prawie %s\n' "$next" ;; esac