[READ-ONLY] Mirror of https://github.com/probablykasper/my-bash-scripts. My personal bash scripts
cli
0

Configure Feed

Select the types of activity you want to include in your feed.

chill: support seconds

Kasper (Oct 4, 2021, 2:52 AM +0200) 21eeb82c a9c11501

+42 -33
+42 -33
bin/chill
··· 13 13 14 14 SCRIPTNAME=${0##*/} 15 15 16 - if [[ $1 == *h ]] 17 - then 18 - HOURS=${1%h} 19 - 20 - if [[ $2 == *m ]] 21 - then 22 - MINUTES=${2%m} 23 - (( SECONDS=HOURS * 60 * 60 + MINUTES * 60 )) 24 - echo "Sleeping for $HOURS hours and $MINUTES minutes ($SECONDS seconds)" 25 - sleep $SECONDS 26 - else 27 - (( SECONDS=HOURS * 60 * 60 )) 28 - echo "Sleeping for $HOURS hours ($SECONDS seconds)" 29 - sleep $SECONDS 30 - fi 31 - 32 - elif [[ $1 == *m ]] 33 - then 34 - MINUTES=${1%m} 35 - (( SECONDS=MINUTES * 60 )) 36 - echo "Sleeping for $MINUTES minutes ($SECONDS seconds)" 37 - sleep $SECONDS 38 - else 16 + help() { 39 17 echo "" 40 18 echo "`yellow $SCRIPTNAME`" 41 - echo " Do nothing for a specified amount of time. Useful for scheduling stuff." 19 + echo " Do nothing for some time. Useful for scheduling stuff." 42 20 echo "" 43 21 echo "`yellow Usage examples:`" 44 22 echo " $SCRIPTNAME 1h" 45 - echo " $SCRIPTNAME 30m" 46 - echo " $SCRIPTNAME 50h 1m" 23 + echo " $SCRIPTNAME 30m 2s" 24 + echo " $SCRIPTNAME 1s 10s 10h 60m" 47 25 echo "" 48 - fi 26 + } 49 27 50 - # target="$1.$2" 51 - # cur=$(date '+%H.%M') 52 - # while test $target != $cur; do 53 - # sleep 59 54 - # cur=$(date '+%H.%M') 55 - # done 28 + TOTAL_SECONDS=0 29 + 30 + # no args 31 + if [[ "$#" < 1 ]]; then help; exit 0; fi 32 + 33 + # parse args 34 + for (( i=1; i <= "$#"; i++ )); do 35 + ARG="${!i}" 36 + if [[ $ARG == *s ]]; then 37 + TOTAL_SECONDS=$(($TOTAL_SECONDS + ${ARG%s})) 38 + elif [[ $ARG == *sec ]]; then 39 + TOTAL_SECONDS=$(($TOTAL_SECONDS + ${ARG%sec})) 40 + elif [[ $ARG == *m ]]; then 41 + TOTAL_SECONDS=$(($TOTAL_SECONDS + ${ARG%m} * 60)) 42 + elif [[ $ARG == *min ]]; then 43 + TOTAL_SECONDS=$(($TOTAL_SECONDS + ${ARG%min} * 60)) 44 + elif [[ $ARG == *h ]]; then 45 + TOTAL_SECONDS=$(($TOTAL_SECONDS + ${ARG%h} * 3600)) 46 + else 47 + help 48 + exit 0 49 + fi 50 + done 51 + 52 + HOURS=$(( ($TOTAL_SECONDS / 60 / 60) )) 53 + MINUTES=$(( ($TOTAL_SECONDS / 60) % 60 )) 54 + SECONDS=$(( $TOTAL_SECONDS % 60 )) 55 + 56 + TOTAL_SECONDS=$(($SECONDS + $MINUTES*60 + $HOURS*3600)) 57 + if [[ $HOURS != 0 ]]; then 58 + echo "Sleeping for ${HOURS}h ${MINUTES}m ${SECONDS}s ($TOTAL_SECONDS seconds)" 59 + elif [[ $MINUTES != 0 ]]; then 60 + echo "Sleeping for $MINUTES minutes, $SECONDS seconds ($TOTAL_SECONDS seconds)" 61 + elif [[ $SECONDS != 0 ]]; then 62 + echo "Sleeping for $SECONDS seconds" 63 + fi 64 + sleep $TOTAL_SECONDS