挿入された USB デバイスからマウント ポイントを出力する bash スクリプトを作成したいと考えています。2 つのコマンド ("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 device は機能し、$UUID を確認できますが、lsblk コマンドは何もしません。lsblk --noheadings --output MOUNTPOINT /dev/disk/by-uuid/**realuuid**
ターミナルにコマンドを入れると動作します。誰が何が悪いのか知っていますか?