lsblk
pode ajudar. Ele pode imprimir apenas o UUID e o ponto de montagem, portanto, dado o UUID, basta ver se o ponto de montagem não está vazio:
uuid=foo
lsblk -o UUID,MOUNTPOINT | awk -v u="$uuid" ' == u {print }'
Então:
uuid=foo
mountpoint=$(lsblk -o UUID,MOUNTPOINT | awk -v u="$uuid" ' == u {print }')
if [[ -n $mountpoint ]]
then
echo mounted
else
echo not mounted
fi
Como lbslk
pode atuar em dispositivos específicos, você também pode fazer:
mountpoint=$(lsblk -o MOUNTPOINT "/dev/disk/by-uuid/$uuid" | awk 'NR==2')
Com o primeiro método, não haverá erro se esse UUID não for de um disco atualmente conectado. Com o segundo método, lsblk
terá erro se /dev/disk/by-uuid/$uuid
não existir.