#!/bin/rc # wrapper script for hubfs and hubshell - starts both servers and clients # hub [srvname] [shellname] rfork while (~ $1 -*){ switch($1){ case -b background = yes shift case * echo bad flag $1 shift } } srvname = $1 attach = $2 if(~ $srvname ''){ srvname = hubfs } if(~ $attach ''){ attach = io } if (test -e /n/$srvname/$attach'0'){ # echo attaching hubshell to $srvname/$attach hubgroup hubshell /n/$srvname/$attach echo hubshell ended exit '' } if (test -e /n/$srvname/io0){ touch /n/$srvname/$attach'0' touch /n/$srvname/$attach'1' touch /n/$srvname/$attach'2' rfork # echo created /$srvname/$attach hubgroup and starting initial rc oldprompt = $prompt prompt =($attach'% ') rc -i /n/$srvname/$attach'1' >[2]/n/$srvname/$attach'2' & prompt = $oldprompt rfork if(! ~ $background yes){ sleep 1 # echo attaching hubshell to $srvname/$attach hubgroup hubshell /n/$srvname/$attach echo hubshell ended } exit '' } if (! test -e /srv/$srvname){ create = yes echo creating hubfs /srv/$srvname hubfs -s $srvname } mount -c /srv/$srvname /n/$srvname if (! test -e /n/$srvname/$attach'0'){ if(! test -e /n/$srvname/ctl){ touch /n/$srvname/ctl } touch /n/$srvname/$attach'0' touch /n/$srvname/$attach'1' touch /n/$srvname/$attach'2' rfork # echo created /$srvname/$attach hubgroup and starting initial rc oldprompt = $prompt prompt =($attach'% ') rc -i /n/$srvname/$attach'1' >[2]/n/$srvname/$attach'2' & prompt = $oldprompt rfork sleep 1 } if(! ~ $background yes){ # echo attaching hubshell to $srvname/$attach hubgroup hubshell /n/$srvname/$attach echo hubshell ended } exit ''