【问题标题】:Detecting USB Thumb Drive when Ready in Linux Shell Script在 Linux Shell 脚本中准备就绪时检测 USB 拇指驱动器
【发布时间】:2012-09-05 20:55:05
【问题描述】:

我是一名 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,但坦率地说,我什至不知道这个答案是什么意思。

【问题讨论】:

    标签: linux shell usb-flash-drive


    【解决方案1】:

    您似乎有一些自动挂载服务正在运行,它检测闪存盘并挂载分区。但是,您已经知道分区是什么,所以我建议您在脚本中简单地挂载磁盘,自己选择合适的挂载点。

    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
    

    【讨论】:

    • 这实际上是我上周最终做的事情。我不确定我为什么不一开始就这样做。谢谢!
    猜你喜欢
    • 2015-11-21
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    相关资源
    最近更新 更多