diff options
Diffstat (limited to 'sys/cmd/rc/rcmain.unix')
-rw-r--r-- | sys/cmd/rc/rcmain.unix | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/sys/cmd/rc/rcmain.unix b/sys/cmd/rc/rcmain.unix new file mode 100644 index 0000000..42b3be4 --- /dev/null +++ b/sys/cmd/rc/rcmain.unix @@ -0,0 +1,35 @@ +# rcmain: unix version +if(~ $#home 0) home=$HOME +if(~ $#ifs 0) ifs=' +' +profile=$home/.rcrc +switch($#prompt){ +case 0 + prompt=('% ' ' ') +case 1 + prompt=($prompt ' ') +} +if(~ $rcname ?.out) prompt=('broken! ' ' ') +if(flag p) path=/bin +if not { + finit + if(~ $#path 0) path=(. /bin /usr/bin /usr/local/bin) +} +fn sigexit +if(! ~ $#cflag 0){ + if(flag l && test -r $profile) . $profile + status='' + eval $cflag +} +if not if(flag i){ + if(flag l && test -r $profile) . $profile + status='' + if(! ~ $#* 0) . $* + . -i /dev/fd/0 +} +if not if(~ $#* 0) . /dev/fd/0 +if not{ + status='' + . $* +} +exit $status |