czas

z Innocent Kangaroo, 3 dni temu, napisane w Bash, wyświetlone 32 razy.
URL https://pastebin.k4be.pl/view/71777bfd Udostępnij
Pobierz wklejkę lub Pokaż surowy tekst
  1. #!/bin/sh
  2.  
  3. time=${1:-$(date '+%H:%M')}
  4. case "$time" in
  5.     *:*) ;;
  6.     *) printf 'Użycie: %s [HH:MM]\n' "$0" >&2; exit 1 ;;
  7. esac
  8.  
  9. hour=${time%%:*}
  10. min=${time#*:}
  11.  
  12. hour=${hour#0}
  13. min=${min#0}
  14. : "${hour:=0}" "${min:=0}"
  15.  
  16. h=$((hour % 12))
  17. [ "$h" -eq 0 ] && h=12
  18. next=$((h % 12 + 1))
  19.  
  20. w() {
  21.     case $1 in
  22.         5)  echo pięć ;;
  23.         10) echo dziesięć ;;
  24.         15) echo kwadrans ;;
  25.         20) echo dwadzieścia ;;
  26.     esac
  27. }
  28.  
  29. case $min in
  30.     0)
  31.         printf 'punkt %s\n' "$h"
  32.         ;;
  33.  
  34.     1)
  35.         printf 'po %s\n' "$h"
  36.         ;;
  37.  
  38.     [2-6])
  39.         [ "$min" -eq 5 ] &&
  40.             printf 'pięć po %s\n' "$h" ||
  41.             printf '~pięć po %s\n' "$h"
  42.         ;;
  43.  
  44.     [7-9]|1[01])
  45.         [ "$min" -eq 10 ] &&
  46.             printf 'dziesięć po %s\n' "$h" ||
  47.             printf '~dziesięć po %s\n' "$h"
  48.         ;;
  49.  
  50.     1[2-6])
  51.         [ "$min" -eq 15 ] &&
  52.             printf 'kwadrans po %s\n' "$h" ||
  53.             printf '~kwadrans po %s\n' "$h"
  54.         ;;
  55.  
  56.     1[7-9]|2[01])
  57.         [ "$min" -eq 20 ] &&
  58.             printf 'dwadzieścia po %s\n' "$h" ||
  59.             printf '~dwadzieścia po %s\n' "$h"
  60.         ;;
  61.  
  62.     2[2-6])
  63.         [ "$min" -eq 25 ] &&
  64.             printf 'pięć do wpół do %s\n' "$next" ||
  65.             printf '~pięć do wpół do %s\n' "$next"
  66.         ;;
  67.  
  68.     2[7-9]|3[01])
  69.         [ "$min" -eq 30 ] &&
  70.             printf 'wpół do %s\n' "$next" ||
  71.             printf '~wpół do %s\n' "$next"
  72.         ;;
  73.  
  74.     3[2-6])
  75.         [ "$min" -eq 35 ] &&
  76.             printf 'pięć po wpół do %s\n' "$next" ||
  77.             printf '~pięć po wpół do %s\n' "$next"
  78.         ;;
  79.  
  80.     3[7-9]|4[01])
  81.         [ "$min" -eq 40 ] &&
  82.             printf 'za dwadzieścia %s\n' "$next" ||
  83.             printf '~za dwadzieścia %s\n' "$next"
  84.         ;;
  85.  
  86.     4[2-6])
  87.         [ "$min" -eq 45 ] &&
  88.             printf 'za kwadrans %s\n' "$next" ||
  89.             printf '~za kwadrans %s\n' "$next"
  90.         ;;
  91.  
  92.     4[7-9]|5[01])
  93.         [ "$min" -eq 50 ] &&
  94.             printf 'za dziesięć %s\n' "$next" ||
  95.             printf '~za dziesięć %s\n' "$next"
  96.         ;;
  97.  
  98.     5[2-6])
  99.         [ "$min" -eq 55 ] &&
  100.             printf 'za pięć %s\n' "$next" ||
  101.             printf '~za pięć %s\n' "$next"
  102.         ;;
  103.  
  104.     5[7-9])
  105.         printf 'prawie %s\n' "$next"
  106.         ;;
  107. esac

odpowiedź "czas"

Tutaj możesz odpowiedzieć na wklejkę z góry

captcha