1

我是 Windows 管理员和开发人员,我通常不使用 Linux,如果这在某种程度上很明显,请原谅我。

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

直接路径是/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

有什么建议么?我如何等待驱动器准备好并检测到它?我已经看到自动检测和写入 USB 密钥/拇指驱动器,但坦率地说,我什至不知道这个答案是什么意思。

4

1 回答 1

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
于 2012-09-05T12:55:05.740 回答