Plan 9 from User Space's /usr/local/plan9/bin/mount

#!/usr/local/plan9/bin/rc

if(! ~ $#* 2){
	echo 'usage: mount addr mtpt' >[1=2]
	exit usage
}
switch(`{uname}){
case Linux
	if(9 grep -si '	9p(2000)?$' /proc/filesystems){
		if(u test -S $1)
			exec u mount -t 9p -o trans'='unix,uname'='$USER $1 $2
		exec u mount -t 9p -o trans'='tcp,uname'='$USER $1 $2
	}
	if(9 grep -si '	fuse$' /proc/filesystems)
		exec 9pfuse $1 $2
	echo 'don''t know how to mount (no 9p, no fuse)' >[1=2]
case FreeBSD
	if(kldstat|9 grep -si ' fuse')
		exec 9pfuse $1 $2
	echo 'don''t know how to mount (no fuse)' >[1=2]
case Darwin
	if(sysctl fuse.version >[2]/dev/null |9 grep -si 'fuse.version' ||
	   sysctl macfuse.version.number >[2]/dev/null |9 grep -si 'fuse.version' ||
	   sysctl osxfuse.version.number >[2]/dev/null |9 grep -si 'fuse.version' ||
	   test -d /System/Library/Extensions/fusefs.kext ||
	   test -d /Library/Filesystems/osxfusefs.fs/Support/osxfusefs.kext ||
	   test -d /Library/Filesystems/fusefs.fs/Support/fusefs.kext)
		exec 9pfuse $1 $2
	echo 'don''t know how to mount (no fuse)' >[1=2]
case *
	echo 'can''t mount on' `{uname} >[1=2]
}
exit nomount

Space Glenda

Copyright © 2005 Lucent Technologies, Russ Cox, MIT.
See license for details.