Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux Shell脚本中检测准备就绪的USB Thumb驱动器_Linux_Shell_Usb Flash Drive - Fatal编程技术网

在Linux Shell脚本中检测准备就绪的USB Thumb驱动器

在Linux Shell脚本中检测准备就绪的USB Thumb驱动器,linux,shell,usb-flash-drive,Linux,Shell,Usb Flash Drive,我是一名Windows管理员和开发人员,我通常不使用Linux,所以如果这在某种程度上是显而易见的,请原谅我 我有一个不太好的Linux box,一些较旧版本的OpenSUSE,我有一个脚本,可以卸载USB thumb驱动器,格式化它,然后等待设备再次准备就绪,然后再运行脚本,对源文件和目标文件执行copy/MD5校验和验证,以确保副本有效。问题是,在一个盒子上,USB thumb驱动器在格式化后没有以一致的方式准备就绪。通过/media/LABELNAME访问驱动器需要1到2分钟以上的时间 直

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

我有一个不太好的Linux box,一些较旧版本的OpenSUSE,我有一个脚本,可以卸载USB thumb驱动器,格式化它,然后等待设备再次准备就绪,然后再运行脚本,对源文件和目标文件执行copy/MD5校验和验证,以确保副本有效。问题是,在一个盒子上,USB thumb驱动器在格式化后没有以一致的方式准备就绪。通过
/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

有什么建议吗?如何等待驱动器准备就绪并检测到它?我已经看到了,但坦率地说,我甚至不知道这个答案是什么意思。

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

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
mkfs.vfat-I-F32-n“LABELNAME”/dev/sdb
echo“格式完成,重新安装”

mount/dev/sdb$mountpoint#这实际上是我上周最后做的事情。我不知道我为什么不在第一个地方这么做。非常感谢。