summaryrefslogtreecommitdiff
path: root/thing3/jarcc
diff options
context:
space:
mode:
Diffstat (limited to 'thing3/jarcc')
-rwxr-xr-xthing3/jarcc45
1 files changed, 45 insertions, 0 deletions
diff --git a/thing3/jarcc b/thing3/jarcc
new file mode 100755
index 0000000..347c8a2
--- /dev/null
+++ b/thing3/jarcc
@@ -0,0 +1,45 @@
+#!/bin/sh
+# JARCC - Just Another "Run Command" Controller
+# Copyright (C) 2026 Connor Thomson
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+set -e
+
+EXECUTABLE="${0##*/}"
+SERVICE="$1"
+ACTION="$2"
+SCRIPT="/etc/init.d/$SERVICE"
+
+if [ -z "$SERVICE" ] || [ -z "$ACTION" ]; then
+ echo "Usage: $EXECUTABLE <SERVICE> <ACTION>" 1>&2
+ exit 1
+fi
+
+if [ ! -e "$SCRIPT" ]; then
+ echo "Error: $SCRIPT does not exist." 1>&2
+ exit 1
+fi
+
+if [ -d "$SCRIPT" ]; then
+ echo "Error: $SCRIPT is a directory, not a service script." 1>&2
+ exit 1
+fi
+
+if [ ! -x "$SCRIPT" ]; then
+ echo "Error: $SCRIPT is not executable." 1>&2
+ exit 1
+fi
+
+"$SCRIPT" "$ACTION"