如何使用bash中的if语句检查usb设备

时间:2012-01-03 15:41:53

标签: bash

我试图创建一个自动bash脚本,在单元的闪存存储器中使用urandom填充文件。我可以手动使用所有命令来实现这一点,但我试图创建一个脚本并且很难弄清楚如何检查USB设备。我知道它将是sda1或sdb1,但不确定下面的代码是否足够......?谢谢!下面是代码:

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

2 个答案:

答案 0 :(得分:6)

您可以通过标签 UUID 进行装载,从而降低脚本的复杂性。例如,如果您的闪存存储具有标签 MYLABEL (您可以使用mtools'mlabel设置和显示VFAT标签):

$ sudo mount LABEL=MYLABEL /media/usbkey

答案 1 :(得分:6)

我编写可安装驱动器的脚本的方法是首先将文件放在驱动器上,例如“Iamthemountabledrive.txt”,然后检查该文件是否存在。如果它不存在,那么我安装驱动器。我使用这种技术来确保为5无线电台网络安装音频服务器,检查每一分钟是否存在网络中断事件。

testfile="/dev/usbdrive/Iamthedrive.txt"
if [ -e "$testfile" ]
then
  echo "drive is mounted."
fi