2012-01-03 5 views
5

ユニットのフラッシュストレージにurandomファイルを埋め込んだ自動bashスクリプトを作成しようとしています。私は手動でこれを行うためにすべてのコマンドを使用することができますが、私はスクリプトを作成しようとすると、どのようにUSBデバイスをチェックするかを理解するのが難しいです。私はそれがsda1かsdb1のいずれかになることを知っていますが、以下のコードが十分であるかどうかはわかりません...?ありがとう!以下は、コードです:bashでif文を使ってusbデバイスをチェックする方法

if /dev/sda1 
then 
     mount -t vfat /dev/sda1 /media/usbkey 
else 
     mount -t vfat /dev/sdb1 /media/usbkey 
fi 
+0

私がスクリプトでマウントできるドライブの方法は、最初にドライブにファイルを置くことです。 "Iamthemountabledrive.txt"、そのファイルの存在を確認します。それがなければ、ドライブをマウントします。この技術を使用して、5つのラジオ局ネットワーク用にオーディオサーバーがマウントされていることを確認し、ネットワーク割り込みイベントがある場合に1分ごとにチェックします。 –

+0

@MattHドライブがまだマウントされていない場合、bashスクリプト内のドライブ上のファイル( "lamthemountabledrive.txt")の存在を確認するにはどうすればよいですか? – suffa

+0

'testfile ="/dev/usbdrive/Iamthedrive.txt " [-e" $ testfile "] then echo"ドライブがマウントされています。 fi' –

答えて

6

あなたはラベルまたはUUIDでマウントし、したがって、あなたのスクリプトの複雑さを軽減することができます。 Iスクリプトマウントドライブは最初、例えば、ドライブ上のファイルを置くことである方法を

$ sudo mount LABEL=MYLABEL /media/usbkey 
6

:たとえば、あなたのフラッシュストレージは、ラベルmylabelというを(あなたがmtools「mlabelを使用してVFATラベルを設定して表示することができます)がある場合"Iamthemountabledrive.txt"、そのファイルの存在を確認します。それがなければ、ドライブをマウントします。この技術を使用して、5つのラジオ局ネットワーク用にオーディオサーバーがマウントされていることを確認し、ネットワーク割り込みイベントがある場合に1分ごとにチェックします。

testfile="/dev/usbdrive/Iamthedrive.txt" 
if [ -e "$testfile" ] 
then 
    echo "drive is mounted." 
fi 
関連する問題