Blob


1 # rcmain: Plan 9 on Unix version
2 if(~ $#home 0) home=$HOME
3 if(~ $#home 0) home=/
4 if(~ $#ifs 0) ifs='
5 '
6 switch($#prompt){
7 case 0
8 prompt=('% ' ' ')
9 case 1
10 prompt=($prompt ' ')
11 }
12 if(~ $rcname ?.out ?.rc */?.rc */?.out) prompt=('broken! ' ' ')
13 if(flag p) path=(/bin /usr/bin)
14 if not{
15 finit
16 # should be taken care of by rc now, but leave just in case
17 }
18 fn sigexit
19 if(! ~ $#cflag 0){
20 if(flag l && test -r $home/lib/profile) . $home/lib/profile
21 status=''
22 eval $cflag
23 exit $status
24 }
25 if(flag i){
26 if(~ $termprog 9term || ~ $termprog win){
27 fn cd {
28 # builtin cd $1 && flag i && awd
29 # is not sufficient when running in a subshell
30 # that is rc -e (like mk uses!)
31 if(builtin cd $1){
32 if(flag i) $PLAN9/bin/9 awd || status=''
33 status=''
34 }
35 }
36 $PLAN9/bin/9 awd
37 }
38 if(flag l && test -r $home/lib/profile) . $home/lib/profile
39 status=''
40 if(! ~ $#* 0) . $*
41 . -i '/dev/stdin'
42 exit $status
43 }
44 if(flag l && test -r $home/lib/profile) . $home/lib/profile
45 if(~ $#* 0){
46 . /dev/stdin
47 exit $status
48 }
49 status=''
50 . $*
51 exit $status