123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- #!/bin/bash
- # Coding: utf-8
- # Editor: www.geany.org
- # Created 2017-05-30
- #_sudo_apt_install_
- #_sudo_dpkg_i_ scons
- export XDG_RUNTIME_DIR=/run/user/$(id -u)
- source $HOME/.SCR/lib.sh
- fun_log_dir_create $0 7 1
- fun_speech_time () # напечатать время с разделением на часы, минуты
- {
- fun_slova ()
- {
- case "$1" in
- "0" ) ar_num=(ноль ноль часов минут) ;;
- "1" ) ar_num=(один одна час минута) ;;
- "2" ) ar_num=(два две часа минуты) ;;
- "3" ) ar_num=(три три часа минуты) ;;
- "4" ) ar_num=(четыре четыре часа минуты) ;;
- "5" ) ar_num=(пять пять часов минут) ;;
- "6" ) ar_num=(шесть шесть часов минут) ;;
- "7" ) ar_num=(семь семь часов минут) ;;
- "8" ) ar_num=(восемь восемь часов минут) ;;
- "9" ) ar_num=(девять девять часов минут) ;;
- "10" ) ar_num=(десять) ;;
- "11" ) ar_num=(одинадцать) ;;
- "12" ) ar_num=(двенадцать) ;;
- "13" ) ar_num=(тринадцать) ;;
- "14" ) ar_num=(четырнадцать) ;;
- "15" ) ar_num=(пятнадцать) ;;
- "16" ) ar_num=(шестнадцать) ;;
- "17" ) ar_num=(семнадцать) ;;
- "18" ) ar_num=(восемнадцать) ;;
- "19" ) ar_num=(девятнадцать) ;;
- "20" ) ar_num=(двадцать) ;;
- "30" ) ar_num=(тридцать) ;;
- "40" ) ar_num=(сорок) ;;
- "50" ) ar_num=(пятьдесят) ;;
- esac
- var=$(($2-1)) # -1 потому что индекс начинается с 0
- echo "${ar_num[$var]}"
- }
- fun_print_XX ()
- {
- if [ $1 -lt 6 ] # меньше 6
- then
- min=$(fun_slova $1 $3)
- end_min=$(fun_slova $1 $2)
- else
- if [ $1 -gt 19 ] # больше 19
- then
- n1=${1:0:1} # выделяем первое число
- n2=${1:1:2} # выделяем второе число
- n1=$(($n1 * 10))
- if [ $n2 -eq 0 ] # равно 0
- then
- min=$(fun_slova $n1 1)
- end_min=$(fun_slova 5 $2)
- else
- min="$(fun_slova $n1 1) $(fun_slova $n2 $3)"
- end_min=$(fun_slova $n2 $2)
- fi
- else
- min=$(fun_slova $1 1)
- end_min=$(fun_slova 5 $2)
- fi
- fi
- echo "$min $end_min"
- }
- if [ $# == "1" ] # если агрумент один
- then
- f_hour=$(($1 / 60)) # полных часов
- f_min=$(($1 % 60)) # остаток минут
- else
- f_hour=$1
- f_min=$2
- fi
- if [ $f_hour -ne 0 ] # не равно 0
- then
- if [ $f_min -ne 0 ] # не равно 0
- then
- echo `fun_print_XX $f_hour 3 1` `fun_print_XX $f_min 4 2`
- else
- echo "`fun_print_XX $f_hour 3 1` ровно"
- fi
- else
- echo `fun_print_XX $f_min 4 2`
- fi
- }
- fun_voice ()
- {
- fun_echo_stadia 11 0 ",speech_ru.sh $@"
- echo "$(date +%y-%m-%d_%H-%M-%S_%6N) start $@" >> "${tmp1}/${date}"
- play ~/.RES/sounds/Sound_20761.ogg # sound after speech
- echo "$@" | RHVoice-test -p anna
- # see more profiles ls /usr/local/share/RHVoice/voices/
- echo "$(date +%y-%m-%d_%H-%M-%S_%6N) finish $@" >> "${tmp1}/${date}"
- notify-send -t 10000 -i ~/.RES/icons/vcs-normal.svg "Сегодня $(cat ~/LOG/uptime_counter.sh/time_for_conky)" "$@"
- }
- if [ -n "$1" ]; # lenth of string not null
- then
- case "$1" in
- "ok" ) fun_voice "Операция выполнена" ;;
- "msg001" ) fun_voice "Время $(fun_speech_time $hour_I $mins)" ;;
- "msg002" ) fun_voice "Время работы сегодня $(fun_speech_time $uptime_in_day)" ;;
- "msg003" ) fun_voice "Время работы $(fun_speech_time $uptime)" ;;
- "msg004" ) fun_voice "Время $(fun_speech_time $hour $mins)" ;;
- * ) fun_voice "$@" ;; # default speech
- esac
- fi
|