various shell script fixes.
add 9a, 9c, 9l wrapper scripts.
label sets label on xterm/9term
diff --git a/bin/9a b/bin/9a
new file mode 100755
index 0000000..f2984ff
--- /dev/null
+++ b/bin/9a
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if [ $# != 1 ]; then
+	echo 'usage: 9a file.s' 1>&2
+	exit 1
+fi
+
+out=`echo $1 | sed 's/\.s$//;s/$/.o/'`
+exec as -o $out $1
diff --git a/bin/9c b/bin/9c
new file mode 100755
index 0000000..dc9cc3d
--- /dev/null
+++ b/bin/9c
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+usegcc()
+{
+	cc=gcc
+	cflags=" \
+		-O2 \
+		-I$PLAN9/include \
+		-c \
+		-ggdb \
+		-Wall \
+		-Wno-parentheses \
+		-Wno-missing-braces \
+		-Wno-switch \
+	"
+}
+
+cc=none
+tag="`uname`-`uname -m`-${CC:-cc}"
+case "$tag" in
+*BSD*)		usegcc ;;
+*Darwin*)	usegcc ;;
+*HP-UX*)	cc=cc; cflags="-g -O -c -Ae" ;;
+*Linux*)	usegcc ;;
+*OSF1*)		cc=cc; cflags="-g -O -c" ;;
+*SunOS*-cc)	cc=cc; cflags="-g -O -c -xCC -D__sun__" ;;
+*SunOS*-gcc)	usegcc ;;
+*)
+	echo 9c does not know how to compile on "$tag" 1>&2
+	exit 1
+esac
+
+exec cc $cflags "$@"
diff --git a/bin/9l b/bin/9l
new file mode 100755
index 0000000..2db7be5
--- /dev/null
+++ b/bin/9l
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+ld=none
+extralibs=-lm
+tag="`uname`-`uname -m`-${CC:-cc}"
+case "$tag" in
+*FreeBSD*)	ld=gcc ;;
+*BSD*)		ld=gcc ;;
+*Linux*)	ld=gcc ;;
+*Darwin*)	ld=gcc ;;
+*SunOS*-cc)	ld=cc; extralibs="$extralibs -lrt -lpthread" ;;
+*SunOS*-gcc)	ld=gcc ;;
+*)
+	echo do not know how to link on "$tag" 1>&2
+	exit 1
+esac
+
+case $ld in
+gcc)
+	exec gcc \
+		-ggdb \
+		-L$PLAN9/lib \
+		"$@" \
+		$extralibs
+	;;
+esac
diff --git a/bin/B b/bin/B
index c1a4b16..74bdb48 100755
--- a/bin/B
+++ b/bin/B
@@ -18,16 +18,10 @@
 	echo could not find sam 2>&1
 	exit 2
 else
-	pwd=`pwd`
 	for i
 	do
-		case $i in
-		/*)
-			echo "B $i" >>$sam
-			;;
-		*)
-			echo "B $pwd/$i" >>$sam
-			;;
-		esac
+		pwd=`pwd`
+		file=`cleanname -d $pwd $i`
+		echo "B $file" >>$sam
 	done
 fi
diff --git a/bin/Bwait b/bin/Bwait
index 1c6ef96..0042960 100755
--- a/bin/Bwait
+++ b/bin/Bwait
@@ -9,7 +9,7 @@
 while true
 do
 	nstat=`ls -l $1`
-	if [ "$stat" eq "$nstat" ]
+	if [ "x$stat" != "x$nstat" ]
 	then
 		exit
 	fi
diff --git a/bin/label b/bin/label
new file mode 100755
index 0000000..e8e3e8b
--- /dev/null
+++ b/bin/label
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+label() {
+	echo "$@" | awk '{printf("\033];%s\007", $0);}'
+}
+
+label "$@"
diff --git a/bin/ps b/bin/ps
index 0d6c7ec..54678eb 100755
--- a/bin/ps
+++ b/bin/ps
@@ -66,7 +66,7 @@
 !
 
 /bin/ps -axww -o 'user,pid,start,time,vsz,stat,command' | sed 1d |
-	awk -f /tmp/awk.xxx$$ | sort +1 -n
+	awk -f /tmp/awk.xxx$$ | sort -n +1
 
 rm -f /tmp/awk.xxx$$