52 lines
1.0 KiB
Plaintext
52 lines
1.0 KiB
Plaintext
|
# rcmain: Plan 9 on Unix version
|
||
|
if(~ $#home 0) home=$HOME
|
||
|
if(~ $#home 0) home=/
|
||
|
if(~ $#ifs 0) ifs='
|
||
|
'
|
||
|
switch($#prompt){
|
||
|
case 0
|
||
|
prompt=('% ' ' ')
|
||
|
case 1
|
||
|
prompt=($prompt ' ')
|
||
|
}
|
||
|
if(~ $rcname ?.out ?.rc */?.rc */?.out) prompt=('broken! ' ' ')
|
||
|
if(flag p) path=(/bin /usr/bin)
|
||
|
if not{
|
||
|
finit
|
||
|
# should be taken care of by rc now, but leave just in case
|
||
|
}
|
||
|
fn sigexit
|
||
|
if(! ~ $#cflag 0){
|
||
|
if(flag l && test -r $home/lib/profile) . $home/lib/profile
|
||
|
status=''
|
||
|
eval $cflag
|
||
|
exit $status
|
||
|
}
|
||
|
if(flag i){
|
||
|
if(~ $termprog 9term || ~ $termprog win){
|
||
|
fn cd {
|
||
|
# builtin cd $1 && flag i && awd
|
||
|
# is not sufficient when running in a subshell
|
||
|
# that is rc -e (like mk uses!)
|
||
|
if(builtin cd $1){
|
||
|
if(flag i) $PLAN9/bin/9 awd || status=''
|
||
|
status=''
|
||
|
}
|
||
|
}
|
||
|
$PLAN9/bin/9 awd
|
||
|
}
|
||
|
if(flag l && test -r $home/lib/profile) . $home/lib/profile
|
||
|
status=''
|
||
|
if(! ~ $#* 0) . $*
|
||
|
. -i '/dev/stdin'
|
||
|
exit $status
|
||
|
}
|
||
|
if(flag l && test -r $home/lib/profile) . $home/lib/profile
|
||
|
if(~ $#* 0){
|
||
|
. /dev/stdin
|
||
|
exit $status
|
||
|
}
|
||
|
status=''
|
||
|
. $*
|
||
|
exit $status
|