| # 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(~ $TERM 9term){ | 
 | 		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 |