]> git.lizzy.rs Git - plan9front.git/blob - rc/bin/usbeject
fix mistake
[plan9front.git] / rc / bin / usbeject
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 ''