在Linux Shell脚本中准备好时检测USB拇指驱动器

时间:2012-08-30 17:19:33

标签: linux shell usb-flash-drive

我是Windows管理员和开发人员,我一般不使用Linux,所以请原谅我,如果这在某种程度上是显而易见的。

我有一个不太好的Linux机器,一些旧版本的Open SU​​SE,我有一个脚本卸载USB拇指驱动器,格式化它,然后在运行脚本之前等待设备再次准备就绪对源文件和目标文件执行复制/ MD5校验和验证,以确保副本有效。问题是,在一个盒子上,USB拇指驱动器在格式化后不会以一致的方式准备就绪。在通过/media/LABELNAME访问驱动器之前,需要1到2分钟的时间。

直接路径是/dev/sdb但是,当然,我无法通过此路径直接访问它来复制文件。这是我的shell脚本:

#!/bin/bash
set -e
echo "Starting LABELNAME.\n\nUnmounting /dev/sdb/"
umount /dev/sdb
echo "Formatting /dev/sdb/"
mkfs.vfat -I -F32 -n "LABELNAME" /dev/sdb
echo "Waiting on remount..."
sleep 30
echo "Format complete. Running make master."
perl /home/labelname_master.20120830.pl

有什么建议吗?我怎么能等待驱动器准备就绪并检测到它?我见过Detecting and Writing to a USB Key / Thumb DriveAutomatically,但坦率地说,我甚至都不知道答案意味着什么。

1 个答案:

答案 0 :(得分:0)

似乎您运行了一些自动安装服务,它会检测闪存盘并安装分区。但是,您已经知道该分区是什么,所以我建议您只需在脚本中安装磁盘,自己选择合适的安装点。

mkfs.vfat -I -F32 -n "LABELNAME" /dev/sdb
echo "Format complete, remounting"
mount /dev/sdb $mountpoint #<-- you would choose $mountpoint
echo "Running make master."
perl /home/labelname_master.20120830.pl