rsc | 1379cec | 2003-11-23 18:29:41 +0000 | [diff] [blame] | 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 | } |
rsc | 2774920 | 2004-03-26 17:31:41 +0000 | [diff] [blame] | 12 | if(~ $rcname ?.out ?.rc */?.rc */?.out) prompt=('broken! ' ' ') |
rsc | f1bfc54 | 2004-05-14 17:45:39 +0000 | [diff] [blame] | 13 | if(flag p) path=(/bin /usr/bin) |
rsc | 1379cec | 2003-11-23 18:29:41 +0000 | [diff] [blame] | 14 | if not{ |
| 15 | finit |
rsc | c8b6342 | 2005-01-13 04:49:19 +0000 | [diff] [blame] | 16 | # should be taken care of by rc now, but leave just in case |
rsc | 1379cec | 2003-11-23 18:29:41 +0000 | [diff] [blame] | 17 | } |
| 18 | fn sigexit |
| 19 | if(! ~ $#cflag 0){ |
rsc | cb27443 | 2004-03-25 23:03:22 +0000 | [diff] [blame] | 20 | if(flag l && test -r $home/lib/profile) . $home/lib/profile |
rsc | 1379cec | 2003-11-23 18:29:41 +0000 | [diff] [blame] | 21 | status='' |
| 22 | eval $cflag |
rsc | a5a494c | 2005-03-18 19:50:15 +0000 | [diff] [blame] | 23 | exit $status |
rsc | 1379cec | 2003-11-23 18:29:41 +0000 | [diff] [blame] | 24 | } |
rsc | a5a494c | 2005-03-18 19:50:15 +0000 | [diff] [blame] | 25 | if(flag i){ |
rsc | 5a82f26 | 2003-12-02 22:03:35 +0000 | [diff] [blame] | 26 | if(~ $TERM 9term){ |
rsc | 5a82f26 | 2003-12-02 22:03:35 +0000 | [diff] [blame] | 27 | if(~ $#'fn#cd' 0) |
rsc | f1bfc54 | 2004-05-14 17:45:39 +0000 | [diff] [blame] | 28 | fn cd { builtin cd $1 && flag i && awd } |
rsc | 57be123 | 2005-02-28 18:58:38 +0000 | [diff] [blame] | 29 | awd |
rsc | 5a82f26 | 2003-12-02 22:03:35 +0000 | [diff] [blame] | 30 | } |
rsc | f1bfc54 | 2004-05-14 17:45:39 +0000 | [diff] [blame] | 31 | if(flag l && test -r $home/lib/profile) . $home/lib/profile |
rsc | 1379cec | 2003-11-23 18:29:41 +0000 | [diff] [blame] | 32 | status='' |
| 33 | if(! ~ $#* 0) . $* |
| 34 | . -i '/dev/stdin' |
rsc | a5a494c | 2005-03-18 19:50:15 +0000 | [diff] [blame] | 35 | exit $status |
rsc | 1379cec | 2003-11-23 18:29:41 +0000 | [diff] [blame] | 36 | } |
rsc | a5a494c | 2005-03-18 19:50:15 +0000 | [diff] [blame] | 37 | if(flag l && test -r $home/lib/profile) . $home/lib/profile |
| 38 | if(~ $#* 0){ |
| 39 | . /dev/stdin |
| 40 | exit $status |
rsc | 1379cec | 2003-11-23 18:29:41 +0000 | [diff] [blame] | 41 | } |
rsc | a5a494c | 2005-03-18 19:50:15 +0000 | [diff] [blame] | 42 | status='' |
| 43 | . $* |
rsc | 1379cec | 2003-11-23 18:29:41 +0000 | [diff] [blame] | 44 | exit $status |