From dbd7b9a97eede27e707a279114305d7591d371fc Mon Sep 17 00:00:00 2001 From: rsc Date: Sun, 23 Nov 2003 18:29:08 +0000 Subject: various shell script fixes. add 9a, 9c, 9l wrapper scripts. label sets label on xterm/9term --- bin/9a | 9 +++++++++ bin/9c | 33 +++++++++++++++++++++++++++++++++ bin/9l | 26 ++++++++++++++++++++++++++ bin/B | 12 +++--------- bin/Bwait | 2 +- bin/label | 7 +++++++ bin/ps | 2 +- 7 files changed, 80 insertions(+), 11 deletions(-) create mode 100755 bin/9a create mode 100755 bin/9c create mode 100755 bin/9l create mode 100755 bin/label diff --git a/bin/9a b/bin/9a new file mode 100755 index 00000000..f2984ffb --- /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 00000000..dc9cc3d8 --- /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 00000000..2db7be54 --- /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 c1a4b163..74bdb48b 100755 --- a/bin/B +++ b/bin/B @@ -18,16 +18,10 @@ then 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 1c6ef96f..00429609 100755 --- a/bin/Bwait +++ b/bin/Bwait @@ -9,7 +9,7 @@ B "$@" 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 00000000..e8e3e8b0 --- /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 0d6c7ecc..54678eb8 100755 --- a/bin/ps +++ b/bin/ps @@ -66,7 +66,7 @@ function statestr(s) ! /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$$ -- cgit v1.2.3