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