58 lines · 812 B · Text
RawDownload
#!/bin/rc rfork edflag=()opt=-rwhile(~ $1 -*)	switch($1){	case -r		shift		opt=''	case -d		dflag=1		shift	case *		opt=-r		shift	} if(~ $dflag 1)	rfork eif 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/$1echo /mnt/consoles/$1