summaryrefslogtreecommitdiffstats
path: root/cholerab/ttycnser
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
commit212540303532a37ed24d79b13bce44ec763e4e44 (patch)
tree8981640fc617fba874b335037a9223506d5e5f4e /cholerab/ttycnser
parent141f604d00e08e8488ee63072f5e88609c0f864b (diff)
cholerab ttycnser: initial commit
Diffstat (limited to 'cholerab/ttycnser')
-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