summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortv <tv@also>2011-08-04 01:22:19 +0200
committertv <tv@also>2011-08-04 01:22:19 +0200
commitd40ff510eb0f065c219f6fa420ec7c1dca41c54b (patch)
treee001d55c8917b043394f26bd2dc77240599e01d6
parent6a149d1b6a32d24d9a5d0322a612cf22322e23c2 (diff)
cholerab ttycnser: initial commit
-rwxr-xr-xcholerab/ttycnser27
1 files changed, 27 insertions, 0 deletions
diff --git a/cholerab/ttycnser b/cholerab/ttycnser
new file mode 100755
index 00000000..0972dbbb
--- /dev/null
+++ b/cholerab/ttycnser
@@ -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