1# 2# rcmain 3# Plan 9 initial boot environment version 4# 5home=/ 6ifs=' 7' 8prompt=('# ' ' ') 9path=(. /bin) 10 11finit 12fn sigexit 13fn ps {@{ 14 cd /proc; 15 for(i in `{echo [1-9] [1-9][0-9] [1-9][0-9][0-9] [1-9][0-9][0-9][0-9] [1-9][0-9][0-9][0-9][0-9] [1-9][0-9][0-9][0-9][0-9]*|sed 's/\[.*\][ \*]//'}){ 16 for(f in $i^/status $i^/args) 17 >[2]/dev/null sed '' $f 18 }|sed -e '$!N;s/([^ ])$/\1/;ta' -e 'P;D;b' -e ':a;s/\n//' \ 19 |sed 's/ +/ /g;s/^([^ ]+) +([^ ]+) +([^ ]+) +([^ ]+ +[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+) +([^ ]+)+ ([^ ]+ +[^ ]+)(.*)/\2 '^$i^' \5K \3 \1 \7/' 20}} 21fn netstat {@{ 22 for(p in tcp udp){ 23 cd /net/$p; 24 for(i in `{echo [0-9] [1-9][0-9] [1-9][0-9][0-9] [1-9][0-9][0-9]*|sed 's/\[.*\][ \*]//'}){ 25 echo -n $p' '$i' *owner* '; 26 cat $i/status $i/local $i/remote \ 27 | sed -n -e :a -e '$!N; s/ .*//; s/!/ /; s/\n/ /; ta; 28 s/([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+)/\1 \3 \5 \4/p' 29 } 30 } 31}} 32 33status='' 34if(! ~ $#* 0) . $* 35. -i '#d/0' 36exit $status 37