Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#!/bin/rc
2
# usbeject - unmount usb disks given as arguments
3
#	unmount all of them if no arguments given
4
rfork e
5
disk = ()
6
mtpt = /n/usb
7
 
8
test -e /dev/fs/ctl || bind -b '#k' /dev >[2]/dev/null
9
 
10
test -e /dev/usb || bind -a '#u' /dev || {
11
	echo $0: no '#u/usb' >[1=2]
12
	exit nousb
13
}
14
test -e /dev/usbdctl || mount -a /srv/usb /dev || {
15
	echo $0: cannot mount /srv/usb >[1=2]
16
	exit nousbd
17
}
18
 
19
disks=()
20
mtpt=()
21
switch ($#*) {
22
case 0
23
	disks=`{ls -pd /n/sdU*}
24
case *
25
	disks=()
26
	for (a) {
27
		if(~ $a sd??)
28
			disk=`{ls -pd /n/^$*^*}
29
		if not
30
			disk=$a
31
		disks=($disks $disk)
32
	}
33
}
34
if (~ $disks '''sdU*''')
35
	exit ''
36
for (disk in $disks) {
37
	unmount /n/$disk >[2]/dev/null && echo $disk unmounted
38
	if (test -e /dev/fs/ctl)
39
		echo del $disk^parts/^'*' >/dev/fs/ctl >[2]/dev/null
40
}
41
exit ''