summaryrefslogtreecommitdiffstats
path: root/cholerab/ttycnser.sh
diff options
context:
space:
mode:
authortv <tv@also>2011-08-12 14:05:52 +0200
committertv <tv@also>2011-08-12 14:05:52 +0200
commit56c0db6825605e4d5d2c7e697c6d3948e1efc23a (patch)
tree845aa49848ec44399ab67d207e3b25b9676a863b /cholerab/ttycnser.sh
parent574169b46300f28f8a149ec6758edbaa6ddb883f (diff)
cholerab ttycnser: move prototype
Move the ttycnser shell-script prototype in order to errect the node-based TTY Cholerab Notification Service which is going to listen to JSON-RPC notifications over HTTP.
Diffstat (limited to 'cholerab/ttycnser.sh')
-rwxr-xr-xcholerab/ttycnser.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/cholerab/ttycnser.sh b/cholerab/ttycnser.sh
new file mode 100755
index 00000000..0972dbbb
--- /dev/null
+++ b/cholerab/ttycnser.sh
@@ -0,0 +1,27 @@
+#! /bin/sh
+set -euf
+
+tty="${TMPDIR-/tmp}/ttycnser.$LOGNAME.tty"
+
+case "${mode-server}" in
+ (server)
+ host=0.0.0.0
+ port=8080
+ export mode=client
+ echo "ttycnser @ $host $port" >&2
+ exec tcpserver $host $port "$0"
+ ;;
+ (client)
+ line="`read line && echo "$line"`"
+ echo -n '7>>>> '"$line"'8' > "$tty"
+ ;;
+ (install)
+ # TODO tell the user to do something like
+ # PROMPT_COMMAND="`mode=install ~/p/krebscode/painload/cholerab/ttycnser`"
+ echo "ln -snf '`tty`' '$tty'"
+ ;;
+ (*)
+ echo 'Error 1: You are made of stupid!' >&2
+ exit 23
+ ;;
+esac