一个mount U盘的脚本

一个mount U盘的脚本


冷胜魁(Seaquester)
lengshengkui@gmail.com


经常使用U盘,redhat 9下U盘无法自动mount,所以,写了一个脚本来简化操作。

通常情况下,U盘设备应该是 /dev/sda1, 但是,有时候先后使用两个不同的U盘时,后面插入的一个是 /dev/sdb1,所以,使用了 fdisk -l | grep sd[b-z]1 | awk '{print $1}'  来取得它的设备名。代码只能mount 一个U盘,因为我基本上不会同时插入两个U盘,有这一需求的朋友可以自己修改。



  1. #! /bin/sh
  2. #
  3. # Mount/Unmount a USB disk.
  4. #
  5. # Mount:
  6. #    We try to mount /dev/sda1 first, if failed, search /dev/sdb1, /dev/sdc1 ...,
  7. #    and try to mount the 1st one we found.
  8. #
  9. MOUNT_DIR=/mnt/usb
  10. MOUNT_DEV=/dev/sda1
  11. mount | grep $MOUNT_DIR
  12. if [ "$?" = "0" ]
  13. then
  14.     # Kill all process locked the USB disk
  15.     fuser -m -v -k -i $MOUNT_DIR
  16.     umount $MOUNT_DIR
  17.     if [ "$?" = "0" ]
  18.     then
  19.         echo USB disk at $MOUNT_DIR has been unmounted
  20.     else
  21.         echo Can not unmount $MOUNT_DIR
  22.     fi
  23. else
  24.     mount -t vfat /dev/sda1 $MOUNT_DIR -o codepage=936,iocharset=cp936 2>/dev/null
  25.     if [ "$?" = "0" ]
  26.     then
  27.         echo USB disk $MOUNT_DEV has been mounted at $MOUNT_DIR
  28.     else
  29.         #
  30.         # Search all USB disk devices, and mount the first one
  31.         #
  32.         for MOUNT_DEV in $(fdisk -l | grep sd[b-z]1 | awk '{print $1}')
  33.         do
  34.             if [ "$?" = "0" ]
  35.             then
  36.                 mount -t vfat $MOUNT_DEV $MOUNT_DIR -o codepage=936,iocharset=cp936 2>/dev/null
  37.                 if [ "$?" = "0" ]
  38.                 then
  39.                     echo USB disk $MOUNT_DEV has been mounted at $MOUNT_DIR
  40.                     exit 0
  41.                 fi
  42.             fi
  43.         done
  44.         echo Can not mount $MOUNT_DEV to $MOUNT_DIR
  45.     fi
  46. fi
  47. exit 0


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值