(usb) 设备检测上的输出挂载点
output mountpoint on (usb)device detection
我想创建一个 bash 脚本,它将从插入的 USB 设备输出挂载点。我有两个命令(在“do”和“done”之间)在 bash 脚本中单独工作但不一起工作。脚本查找 UUID 文件使用 lsblk 命令中的 $UUID 文件名来提取挂载点挂载点必须在一个变量中,以便我可以在同一个 bash 脚本中继续使用它。到目前为止我已经这样做了:
#!/bin/bash
EXCLUDE_DEVICE_1="5F92-0F71"
EXCLUDE_DEVICE_2="6fd9f710-f897-4b13-a521-70e184f669f3"
inotifywait -m --exclude "($EXCLUDE_DEVICE_1|$EXCLUDE_DEVICE_2)" -e create --format '%f' /dev/disk/by-uuid/ \
| while read UUID
do
echo "new device found with uuid $UUID"
lsblk --noheadings --output MOUNTPOINT /dev/disk/by-uuid/$UUID
done
echo new 设备可以工作并且可以看到 $UUID 但 lsblk 命令什么都不做。
当在终端中输入命令 lsblk --noheadings --output MOUNTPOINT /dev/disk/by-uuid/**realuuid**
时,它会起作用。有人知道怎么回事吗?
问题是时间问题,可以通过在检测和执行命令之间添加(对我而言)0.2 秒的最短睡眠时间来解决
EXCLUDE_DEVICE_1="5F92-0F71"
EXCLUDE_DEVICE_2="6fd9f710-f897-4b13-a521-70e184f669f3"
LOG_FILE=/home/user/Documents/log.txt
exec > >(tee -a $LOG_FILE)
exec 2>&1
inotifywait -m --exclude "($EXCLUDE_DEVICE_1|$EXCLUDE_DEVICE_2)" -e create --format '%f' /dev/disk/by-uuid/ \
| while read UUID
do
echo "new device found with uuid: $UUID"
sleep 0.2
lsblk --noheadings --output MOUNTPOINT /dev/disk/by-uuid/$UUID
done
我想创建一个 bash 脚本,它将从插入的 USB 设备输出挂载点。我有两个命令(在“do”和“done”之间)在 bash 脚本中单独工作但不一起工作。脚本查找 UUID 文件使用 lsblk 命令中的 $UUID 文件名来提取挂载点挂载点必须在一个变量中,以便我可以在同一个 bash 脚本中继续使用它。到目前为止我已经这样做了:
#!/bin/bash
EXCLUDE_DEVICE_1="5F92-0F71"
EXCLUDE_DEVICE_2="6fd9f710-f897-4b13-a521-70e184f669f3"
inotifywait -m --exclude "($EXCLUDE_DEVICE_1|$EXCLUDE_DEVICE_2)" -e create --format '%f' /dev/disk/by-uuid/ \
| while read UUID
do
echo "new device found with uuid $UUID"
lsblk --noheadings --output MOUNTPOINT /dev/disk/by-uuid/$UUID
done
echo new 设备可以工作并且可以看到 $UUID 但 lsblk 命令什么都不做。
当在终端中输入命令 lsblk --noheadings --output MOUNTPOINT /dev/disk/by-uuid/**realuuid**
时,它会起作用。有人知道怎么回事吗?
问题是时间问题,可以通过在检测和执行命令之间添加(对我而言)0.2 秒的最短睡眠时间来解决
EXCLUDE_DEVICE_1="5F92-0F71"
EXCLUDE_DEVICE_2="6fd9f710-f897-4b13-a521-70e184f669f3"
LOG_FILE=/home/user/Documents/log.txt
exec > >(tee -a $LOG_FILE)
exec 2>&1
inotifywait -m --exclude "($EXCLUDE_DEVICE_1|$EXCLUDE_DEVICE_2)" -e create --format '%f' /dev/disk/by-uuid/ \
| while read UUID
do
echo "new device found with uuid: $UUID"
sleep 0.2
lsblk --noheadings --output MOUNTPOINT /dev/disk/by-uuid/$UUID
done