tfinally got these working - plan9port - [fork] Plan 9 from user space
(HTM) git clone git://src.adamsgaard.dk/plan9port
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 47e0a2aa3c6e1ca2b8cd236b934f729fb721baba
(DIR) parent 63853aa06999bf26dd9590b864989f4f3008e694
(HTM) Author: rsc <devnull@localhost>
Date: Sun, 17 Oct 2004 04:02:55 +0000
finally got these working
Diffstat:
A bin/" | 29 +++++++++++++++++++++++++++++
A bin/"" | 10 ++++++++++
2 files changed, 39 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/bin/" b/bin/"
t@@ -0,0 +1,29 @@
+#!/usr/local/plan9/bin/rc
+
+fn text {
+ if(~ $winid [0-9]*)
+ 9p read acme/$winid/body
+ if not if(~ $text9term unix!*)
+ dial -e $text9term </dev/null
+ if not
+ status=''
+}
+
+PROMPT='[^ ]*[%;$#][ ]+'
+
+fn cmds {
+ text | 9grep '^'$PROMPT'[^"]' | sed 's/^/ /'
+}
+
+switch($#*) {
+case 0
+ cmds | tail -1
+case *
+ cmds | 9grep '^ '$PROMPT^$"* | {echo; cat} |
+ pr -t -n | sort -nr | sort -u +1 | sort -n |
+ 9sed 's/^ *[0-9]+ //' | grep .
+}
+
+# the silly {echo; cat} gets around pr printing "empty file" when
+# presented with no input.
+
(DIR) diff --git a/bin/"" b/bin/""
t@@ -0,0 +1,10 @@
+#!/usr/local/plan9/bin/rc
+
+PROMPT='[^ ]*[%;$#][ ]+'
+
+" $* | tail -1 | tee >{wc -l >/tmp/qq.$pid} | tee /dev/stderr | 9sed 's/^ '$PROMPT'//' | rc
+if(~ `{cat /tmp/qq.$pid} 0){
+ echo no such command found
+ exit notfound
+}
+exit 0