summary refs log tree commit diff
path: root/catsit.in
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-08-17 23:25:34 -0400
committerJune McEnroe <june@causal.agency>2020-08-17 23:25:34 -0400
commit08783bd1cc769c5d9319c51498022e6cdc06172a (patch)
tree666a5b25502ebb1c5e9e83ecdce6d375f4667d83 /catsit.in
parentClean up includes (diff)
downloadcatsit-08783bd1cc769c5d9319c51498022e6cdc06172a.tar.gz
catsit-08783bd1cc769c5d9319c51498022e6cdc06172a.zip
Template catsit script with RUNDIR
Diffstat (limited to 'catsit.in')
-rw-r--r--catsit.in37
1 files changed, 37 insertions, 0 deletions
diff --git a/catsit.in b/catsit.in
new file mode 100644
index 0000000..6e934f1
--- /dev/null
+++ b/catsit.in
@@ -0,0 +1,37 @@
+#!/bin/sh
+set -eu
+
+die() {
+	echo "${0}:" "$@" >&2
+	exit 1
+}
+
+: ${CATSITD_PIPE:='%%RUNDIR%%/catsitd.pipe'}
+
+while getopts 'c:' opt; do
+	case "${opt}" in
+		(c) CATSITD_PIPE=$OPTARG;;
+		(?) exit 1;;
+	esac
+done
+shift $((OPTIND - 1))
+
+if ! [ -p "${CATSITD_PIPE}" ]; then
+	die "${CATSITD_PIPE} is not a named pipe"
+fi
+if ! [ -w "${CATSITD_PIPE}" ]; then
+	die "${CATSITD_PIPE} is not writable"
+fi
+
+[ $# -lt 1 ] && die 'action required'
+[ $# -lt 2 ] && die 'service name required'
+
+action=$(echo "${1}" | tr 'A-Z' 'a-z')
+for valid in start stop restart status drop $(kill -l | tr 'A-Z' 'a-z'); do
+	[ "${action}" = "${valid}" ] && break
+done
+if [ "${action}" != "${valid}" ]; then
+	die "${action} is not a valid action or signal"
+fi
+
+echo "$@" > "${CATSITD_PIPE}"
title='2019-09-10 02:34:48 -0400'>2019-09-10Set Accept-Encoding in titleJune McEnroe 2019-09-08Set title User-AgentJune McEnroe 2019-09-07Add -x flag to titleJune McEnroe 2019-09-07Ignore SIGPIPE in relayJune McEnroe 2019-09-07Add A Memory Called EmpireJune McEnroe 2019-09-05Handle lack of Content-TypeJune McEnroe 2019-09-05Use CURLINFO_CONTENT_TYPEJune McEnroe 2019-09-05Decode entities in titlesJune McEnroe 2019-09-05Print title as soon as it's availableJune McEnroe 2019-09-05Use CURL_PREFIX to set flagsJune McEnroe 2019-09-05Add titleJune McEnroe 2019-09-04Add Avorter n'est pas tuerJune McEnroe 2019-08-29Unset executable on shell scriptsJune McEnroe 2019-08-29Add long-missing setopt to bin.7June McEnroe 2019-08-29Add editJune McEnroe