plan9port/rcmain

52 lines
1 KiB
Text
Raw Normal View History

# 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 ' ')
}
2004-03-26 17:31:41 +00:00
if(~ $rcname ?.out ?.rc */?.rc */?.out) prompt=('broken! ' ' ')
2004-05-14 17:45:39 +00:00
if(flag p) path=(/bin /usr/bin)
if not{
finit
2005-01-13 04:49:19 +00:00
# should be taken care of by rc now, but leave just in case
}
fn sigexit
if(! ~ $#cflag 0){
2004-03-25 23:03:22 +00:00
if(flag l && test -r $home/lib/profile) . $home/lib/profile
status=''
eval $cflag
2005-03-18 19:50:15 +00:00
exit $status
}
2005-03-18 19:50:15 +00:00
if(flag i){
if(~ $termprog 9term || ~ $termprog win){
2005-08-10 16:59:19 +00:00
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
2003-12-02 22:03:35 +00:00
}
2004-05-14 17:45:39 +00:00
if(flag l && test -r $home/lib/profile) . $home/lib/profile
status=''
if(! ~ $#* 0) . $*
. -i '/dev/stdin'
2005-03-18 19:50:15 +00:00
exit $status
}
2005-03-18 19:50:15 +00:00
if(flag l && test -r $home/lib/profile) . $home/lib/profile
if(~ $#* 0){
. /dev/stdin
exit $status
}
2005-03-18 19:50:15 +00:00
status=''
. $*
exit $status