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
commitff327a9efd06d39f0f966c4dbd412b2cfb97bc5c (patch)
tree146d72e822c511212bd3c4c06178725c8900001d /cholerab/ttycnser
parenta5e423cc3bab1ace3a952726231eacef5aa4bcce (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