我想创建一个 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 新设备可以工作并且可以看到 $UUID 但 lsblk 命令什么也不做。将命令lsblk --noheadings --output MOUNTPOINT /dev/disk/by-uuid/**realuuid**
放入终端时,它可以工作。有谁知道出了什么问题?