| tChange to POSIX compatible shell - exercise_time - announce workout exercises … | |
| git clone git://src.adamsgaard.dk/exercise_time | |
| Log | |
| Files | |
| Refs | |
| LICENSE | |
| --- | |
| commit afd67f79d5687a0a797a6302edd75e84eacc8c6c | |
| parent ffe55fd0726787ac90371852875018429068994f | |
| Author: Anders Damsgaard <[email protected]> | |
| Date: Mon, 17 Jun 2019 09:03:03 +0200 | |
| Change to POSIX compatible shell | |
| Diffstat: | |
| M exercise_time.sh | 52 ++++++++++++++++-------------… | |
| 1 file changed, 26 insertions(+), 26 deletions(-) | |
| --- | |
| diff --git a/exercise_time.sh b/exercise_time.sh | |
| t@@ -1,4 +1,4 @@ | |
| -#!/bin/bash | |
| +#!/bin/sh | |
| # IT'S EXERCISE TIME! | |
| # Requires the `festival` speech synthesizer if on Linux and/or `libnotify-bin` | |
| t@@ -21,45 +21,45 @@ WAITSECS=120 | |
| # Announce via speech synth (0: No, 1: Yes) | |
| SPEECHSYNTH=1 | |
| -function usage { | |
| +usage() { | |
| echo "Usage: ${0##*/} <SETS> <EXERCISE>" | |
| echo "Example: For three sets of ten pushups, use:" | |
| echo " $0 3 'Do ten push ups'" | |
| } | |
| -if [ "$1" == "-h" ]; then | |
| +if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then | |
| usage | |
| - exit | |
| + exit 0 | |
| fi | |
| # stop mpd if it is running | |
| -#mpc pause &> /dev/null | |
| +#mpc pause > /dev/null 2>&1 | |
| UNAMESTR="$(uname)" | |
| # announce exercise the specified number of times | |
| # Only send notification at work | |
| -if [[ "$UNAMESTR" == 'Darwin' ]]; then | |
| +if [ "$UNAMESTR" = "Darwin" ]; then | |
| IP=$(/sbin/ifconfig | grep 10.9.62) # Sayre Hall | |
| else | |
| IP=$(ip addr | grep 192.168.0) | |
| fi | |
| -for ((i=0; i<$1; i++)); do | |
| +for i in 0.."$1"; do | |
| announcement="It's exercise time! $2" | |
| # Send message to notification daemon if computer is plugged in at my offi… | |
| # desk | |
| - if [[ $IP ]]; then | |
| + if [ -n "$IP" ]; then | |
| # OS X | |
| - if [[ "$UNAMESTR" == 'Darwin' ]]; then | |
| + if [ "$UNAMESTR" = "Darwin" ]; then | |
| osascript -e "display notification \"$2\" with title \"It's exerci… | |
| # Linux | |
| - elif [[ "$UNAMESTR" == 'Linux' ]]; then | |
| + elif [ "$UNAMESTR" = "Linux" ]; then | |
| notify-send "$announcement" | |
| fi | |
| fi | |
| t@@ -68,38 +68,38 @@ for ((i=0; i<$1; i++)); do | |
| if [ $SPEECHSYNTH -eq 1 ]; then | |
| # OS X | |
| - if [[ "$UNAMESTR" == 'Darwin' ]]; then | |
| - if [[ $IP ]]; then | |
| + if [ "$UNAMESTR" = "Darwin" ]; then | |
| + if [ -n "$IP" ]; then | |
| say "$announcement" | |
| fi | |
| # Linux | |
| - elif [[ "$UNAMESTR" == 'Linux' ]]; then | |
| + elif [ "$UNAMESTR" = "Linux" ]; then | |
| playingmusic=0 | |
| - if [[ $IP ]]; then | |
| - if command -v mpc &>/dev/null; then | |
| - if [[ "$(mpc | grep playing)" ]]; then | |
| - mpc pause &> /dev/null | |
| - sleep 2 | |
| - playingmusic=1 | |
| - fi | |
| - fi | |
| - if command -v festival &>/dev/null; then | |
| + if [ -n "$IP" ]; then | |
| + # if command -v mpc >/dev/null 2>&1; then | |
| + # if [ "$(mpc | grep playing)" ]; then | |
| + # mpc pause > /dev/null 2>&1 | |
| + # sleep 2 | |
| + # playingmusic=1 | |
| + # fi | |
| + # fi | |
| + if command -v festival >/dev/null 2>&1; then | |
| echo "$announcement" | festival --tts | |
| fi | |
| - if command -v mpc &>/dev/null; then | |
| - if [[ $playingmusic -eq 1 ]]; then | |
| + if command -v mpc >/dev/null 2>&1; then | |
| + if [ $playingmusic -eq 1 ]; then | |
| sleep 2 | |
| - mpc play &> /dev/null | |
| + mpc play > /dev/null 2>&1 | |
| fi | |
| fi | |
| fi | |
| fi | |
| fi | |
| - if [[ $i -lt $(($1 - 1)) ]]; then | |
| + if [ "$i" -lt "$(echo "$1" - 1 | bc -l)" ]; then | |
| sleep $WAITSECS | |
| fi | |
| done |