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

suf*_*ffa 5 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
Run Code Online (Sandbox Code Playgroud)

Die*_*ano 6

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

$ sudo mount LABEL=MYLABEL /media/usbkey
Run Code Online (Sandbox Code Playgroud)


Mat*_*t H 6

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

testfile="/dev/usbdrive/Iamthedrive.txt"
if [ -e "$testfile" ]
then
  echo "drive is mounted."
fi
Run Code Online (Sandbox Code Playgroud)