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
commited7f60f1fe4c905f0ccb6e1298c9ca6e1767813c (patch)
tree965fa12b0e8b8a6c14bf2d2e86044af9d788e24d /cholerab/ttycnser
parentbfa3bd699f52ed4e448f86be32ae470e5ed5f68f (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