#!/usr/bin/env bash # Send a pushover notification. # Usage: pushover-send [--pid ] [message] # --pid Wait for process to finish before sending # message Optional message (default: "Job done.") pid="" message="" # Parse arguments while [[ $# -gt 0 ]]; do case "$1" in --pid) pid="$2" shift 2 ;; *) message="$1" shift ;; esac done # Default message if [ -z "$message" ]; then message="Job done." fi # Wait for PID if specified if [ -n "$pid" ]; then if ! [[ "$pid" =~ ^[0-9]+$ ]]; then echo "Error: PID must be a number" >&2 exit 1 fi if [ ! -d "/proc/$pid" ]; then echo "Error: Process $pid does not exist" >&2 exit 1 fi tail --pid="$pid" -f /dev/null 2>/dev/null fi curl \ https://api.pushover.net/1/messages.json \ --data-urlencode "token=ak8z7cbxim2t7eksvj7dtudo6cdxgj" \ --data-urlencode "user=u8hjgdf1hquocmy682w9xfmpf3479u" \ --data-urlencode "priority=1" \ --data-urlencode "message=$message"