2012-08-30 61 views
1

我是Windows管理員和開發人員,我通常不使用Linux,所以請原諒我,如果這在某種程度上是明顯的。在Linux Shell腳本中準備就緒時檢測USB Thumb驅動器

我有一個不太好的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,但坦率地說,我甚至不知道答案的意思。

回答

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 
+0

這實際上是我最後在上週做的。我不確定我爲什麼不在第一個地方這麼做。謝謝! –