usbfat: 716 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/bin/rc
  2. # usbfat: [-fl] [disk [mtpt]] - mount a USB disk's MS FAT file system
  3. rfork e
  4. opts=()
  5. while (! ~ $#* 0 && ~ $1 -*) {
  6. switch ($1) {
  7. case -f -l
  8. opts=($opts $1)
  9. case -*
  10. echo usage: $0 '[-f] [disk [mtpt]]' >[1=2]
  11. exit usage
  12. }
  13. shift
  14. }
  15. disk = /n/disk/0/data
  16. mtpt = /n/usb
  17. switch ($#*) {
  18. case 0
  19. ;
  20. case 1
  21. disk = $1
  22. case 2
  23. disk = $1
  24. mtpt = $2
  25. case *
  26. echo usage: $0 '[-f] [disk [mtpt]]' >[1=2]
  27. exit usage
  28. }
  29. if (! test -e $disk)
  30. usb/disk $opts
  31. blk = `{disk/fdisk -p $disk | awk '/^part dos / {print $3}'}
  32. if (~ $#blk 0 || ! ~ $blk [0-9]*) {
  33. echo $0: no fdisk dos partition found... >[1=2]
  34. dossrv -f $disk usbfat.$user
  35. }
  36. if not
  37. dossrv -f $disk:$blk usbfat.$user
  38. mount -c /srv/usbfat.$user $mtpt