aboutsummaryrefslogtreecommitdiff
path: root/sys/cmd/rc/rcmain.unix
diff options
context:
space:
mode:
Diffstat (limited to 'sys/cmd/rc/rcmain.unix')
-rw-r--r--sys/cmd/rc/rcmain.unix35
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