xref: /plan9/sys/src/cmd/rc/rcmain.unix (revision bad30d5d5a5510556b3d04cddb2a7590f26fb546)
1*bad30d5dSDavid du Colombier# rcmain: unix version
2*bad30d5dSDavid du Colombierif(~ $#home 0) home=$HOME
3*bad30d5dSDavid du Colombierif(~ $#ifs 0) ifs='
4*bad30d5dSDavid du Colombier'
5*bad30d5dSDavid du Colombierswitch($#prompt){
6*bad30d5dSDavid du Colombiercase 0
7*bad30d5dSDavid du Colombier	prompt=('% ' '	')
8*bad30d5dSDavid du Colombiercase 1
9*bad30d5dSDavid du Colombier	prompt=($prompt '	')
10*bad30d5dSDavid du Colombier}
11*bad30d5dSDavid du Colombierif(~ $rcname ?.out) prompt=('broken! ' '	')
12*bad30d5dSDavid du Colombierif(flag p) path=/bin
13*bad30d5dSDavid du Colombierif not {
14*bad30d5dSDavid du Colombier	finit
15*bad30d5dSDavid du Colombier	if(~ $#path 0) path=(. /bin /usr/bin /usr/local/bin)
16*bad30d5dSDavid du Colombier}
17*bad30d5dSDavid du Colombierfn sigexit
18*bad30d5dSDavid du Colombierif(! ~ $#cflag 0){
19*bad30d5dSDavid du Colombier	if(flag l && test -r $home/lib/profile) . $home/lib/profile
20*bad30d5dSDavid du Colombier	status=''
21*bad30d5dSDavid du Colombier	eval $cflag
22*bad30d5dSDavid du Colombier}
23*bad30d5dSDavid du Colombierif not if(flag i){
24*bad30d5dSDavid du Colombier	if(flag l && test -r $home/lib/profile) . $home/lib/profile
25*bad30d5dSDavid du Colombier	status=''
26*bad30d5dSDavid du Colombier	if(! ~ $#* 0) . $*
27*bad30d5dSDavid du Colombier	. -i /dev/fd/0
28*bad30d5dSDavid du Colombier}
29*bad30d5dSDavid du Colombierif not if(~ $#* 0) . /dev/fd/0
30*bad30d5dSDavid du Colombierif not{
31*bad30d5dSDavid du Colombier	status=''
32*bad30d5dSDavid du Colombier	. $*
33*bad30d5dSDavid du Colombier}
34*bad30d5dSDavid du Colombierexit $status
35