#!/bin/rc rfork e dflag=() opt=-r while(~ $1 -*) switch($1){ case -r shift opt='' case -d dflag=1 shift case * opt=-r shift } if(~ $dflag 1) rfork e if not rfork en server=() for(i in /lib/ndb/consoledb.*){ dev=`{ndb/query -f $i console $1 dev} if(! ~ $#dev 0){ server=` '.' {echo -n $i} server=$server(2) break } } if(~ $#server 0){ echo C: unknown console server for $1 exit 1 } if(! test -e /mnt/consoles/$1){ switch($sysname){ case $server mount /srv/consoles /mnt/consoles case * import $server /mnt/consoles } } if(! test -e /mnt/consoles/$1 && test -e /srv/consoles) mount /srv/consoles /mnt/consoles if(! test -e /mnt/consoles/$1){ echo console not found exit 'console not found' } if(~ $#dflag 0) exec con -l $opt /mnt/consoles/$1 echo /mnt/consoles/$1