# tm='07:05' # volume=10 # volume_max=90 # sec=2 # folder=~username/Music/alarm/* # temp=`mktemp -t alarm_status_XXX.txt`
# alarm_start() { # mplayer- jbs=(`ps al | grep [m]player | gawk -F ' ' '{print $3}'`) for job in ${jbs[*]} ; do kill -15 $jbs done # if [ -z "$1" ] ; then mplayer -loop 0 -shuffle $folder &> /dev/null & fi }
trap "echo -e '\n, !' && sleep 1 && alarm_start" SIGINT SIGTERM SIGHUP SIGQUIT SIGTSTP SIGSTOP
if [[ $# > 0 ]] ; then if [[ "$1" == [0-9]:[0-9][0-9] ]] || [[ "$1" == [0-9][0-9]:[0-9][0-9] ]] ; then tm=$1 else echo ' . : "07:00".' >&2 exit 10 fi fi date1=$(date -d "`date +%m/%d/%y` $tm" +%s) date2=$(date -d "`date +%m/%d/%y` $tm tomorrow" +%s) # ( ) err=$? if [[ $err > 0 ]] ; then echo ' . : "07:00".' >&2 exit $err fi # , if [[ $date1 < `date -u +%s` ]] ; then date=$date2 else date=$date1 fi
# sudo rtcwake -m mem -t $date # amixer -q set Master $volume% # alarm_start
# while true ; do amixer sset Master 1%+ &> /dev/null volume=$(( $volume+1 )) if [ $volume -eq $volume_max ] ; then break elif [ -s "$temp" ] ; then rm "$temp" # amixer -q set Master 50% break fi sleep 2 done &
clear echo ' :' while true ; do # echo " $sec ." sleep $sec # var1=$(( $RANDOM % 10000 - 5000 )) var2=$(( ($RANDOM % 100000 - 50000)/($RANDOM % 800 + 1) )) # case $(( $RANDOM % 3 )) in 0) opt='+' result=$(( $var1 + $var2 )) ;; 1) opt='-' result=$(( $var1 - $var2 )) ;; 2) opt='*' var2=$(( ($RANDOM % 5 + 5) )) result=$(( $var1 * $var2 )) ;; esac # if [[ $var2 < 0 ]] ; then if [[ "$opt" == '-' ]] ; then opt='+' var2=$(( $var2 * -1 )) elif [[ "$opt" == '+' ]] ; then opt='-' var2=$(( $var2 * -1 )) fi fi # read -p "$var1 $opt $var2 = " answer # if [[ $answer == $result ]] ; then echo "! : $result." break else clear echo -n "! : $var1 $opt $var2 = $result." if [ -n "$answer" ] ; then echo " : $answer." else echo "" fi fi done # , alarm_start false # echo "done" > "$temp"
#!/bin/bash # # alarm_start() { # mplayer- jbs=(`ps al | grep [m]player | gawk -F ' ' '{print $3}'`) for job in ${jbs[*]} ; do kill -15 $jbs done # if [ -z "$1" ] ; then mplayer -loop 0 -shuffle $folder &> /dev/null & fi } # tm='07:05' # volume=10 # volume_max=90 # sec=2 # folder=~username/Music/alarm/* # temp=`mktemp -t alarm_status_XXX.txt` # trap "echo -e '\n, !' && sleep 1 && alarm_start" SIGINT SIGTERM SIGHUP SIGQUIT SIGTSTP SIGSTOP if [[ $# > 0 ]] ; then if [[ "$1" == [0-9]:[0-9][0-9] ]] || [[ "$1" == [0-9][0-9]:[0-9][0-9] ]] ; then tm=$1 else echo ' . : "07:00".' >&2 exit 10 fi fi date1=$(date -d "`date +%m/%d/%y` $tm" +%s) date2=$(date -d "`date +%m/%d/%y` $tm tomorrow" +%s) # ( ) err=$? if [[ $err > 0 ]] ; then echo ' . : "07:00".' >&2 exit $err fi # , if [[ $date1 < `date -u +%s` ]] ; then date=$date2 else date=$date1 fi # sudo rtcwake -m mem -t $date # sudo echo "$date" > /sys/class/rtc/rtc0/wakealarm # amixer -q set Master $volume% # # day=$(( `date +%u` - 1 )) # alarm_start # while true ; do amixer sset Master 1%+ &> /dev/null volume=$(( $volume+1 )) if [ $volume -eq $volume_max ] ; then break elif [ -s "$temp" ] ; then rm "$temp" # amixer -q set Master 50% break fi sleep 2 done & clear echo ' :' while true ; do # echo " $sec ." sleep $sec # var1=$(( $RANDOM % 10000 - 5000 )) var2=$(( ($RANDOM % 100000 - 50000)/($RANDOM % 800 + 1) )) # case $(( $RANDOM % 3 )) in 0) opt='+' result=$(( $var1 + $var2 )) ;; 1) opt='-' result=$(( $var1 - $var2 )) ;; 2) opt='*' var2=$(( ($RANDOM % 5 + 5) )) result=$(( $var1 * $var2 )) ;; esac # if [[ $var2 < 0 ]] ; then if [[ "$opt" == '-' ]] ; then opt='+' var2=$(( $var2 * -1 )) elif [[ "$opt" == '+' ]] ; then opt='-' var2=$(( $var2 * -1 )) fi fi # read -p "$var1 $opt $var2 = " answer # if [[ $answer == $result ]] ; then echo "! : $result." break else clear echo -n "! : $var1 $opt $var2 = $result." if [ -n "$answer" ] ; then echo " : $answer." else echo "" fi fi done alarm_start false # echo "done" > "$temp"
Source: https://habr.com/ru/post/159987/
All Articles