Python Linux usbmount:确定哪些挂载点是真正活动的

Python Linux usbmount:确定哪些挂载点是真正活动的,python,linux,bash,shell,usb,Python,Linux,Bash,Shell,Usb,运行Rasbian Buster Lite headless no desktop,我使用usbmount自动安装usb存储驱动器。 默认情况下,它将它们设置为/media/usb0、/media/usb1、/媒体/usb7;但是,无论是否有usb驱动器,这些装入点都存在。我甚至可以在没有插入任何东西的情况下将文件写入这些文件夹,并使用ls查看它们我的问题是如何确定这些挂载点是否真实 背景:尝试制作一个脚本,将文件保存到U盘,无需任何用户干预,只需插入U盘,然后用新U盘将其交换即可 Linux新

运行Rasbian Buster Lite headless no desktop,我使用usbmount自动安装usb存储驱动器。 默认情况下,它将它们设置为/media/usb0、/media/usb1、/媒体/usb7;但是,无论是否有usb驱动器,这些装入点都存在。我甚至可以在没有插入任何东西的情况下将文件写入这些文件夹,并使用
ls
查看它们我的问题是如何确定这些挂载点是否真实

背景:尝试制作一个脚本,将文件保存到U盘,无需任何用户干预,只需插入U盘,然后用新U盘将其交换即可

Linux新手,因此如果能提供任何额外的解释,我们将不胜感激


谢谢

当前活动装载点可通过以下方式确定:

#!/usr/bin/env bash

while read -r real on mount _; do
    if  fdisk -l | grep -q "^$real"; then
        echo "$real is mounted on $mount"
    fi
done < <(mount | grep "on /media")

谢谢菲利普!我刚刚试过测试这个,如果我最近拉了一个没有卸载的USB驱动器,有时会出现误报。有没有办法用脚本解决这个问题?我不希望检索驱动器的人必须携带笔记本电脑、ssh和优雅地卸载旧驱动器。我需要让他们的参与像拔出旧驱动器并插入新驱动器一样简单,但如果我能制作一个自动脚本来修复这些误报,那就太好了。如果您在/media/usb0上看到
/dev/sdb1,并且用户未正确卸载就拔出了插头,您可以检查
/dev/sdb1
是否在
fdisk-l
返回的列表中。好的,谢谢!有没有办法解析出这个很长的结果?我知道如何手动运行您的命令,然后手动解释,但我不知道如何提取自动解释答案所需的结果部分。多谢各位much@rfii请编辑您的Q,以显示
mount | grep'on/media'
fdisk-l
的输出小样本,其中一些样本
/dev/sdbN
位于第一个输出中,包括一个应忽略的输出。祝你好运,谢谢!虽然整个周末我都在试图弄清楚那些不存在的硬盘,但在过去的两个小时里,我当然没能实现,但我会在完成后公布结果。感谢Philippe编辑的代码。我认为它正在工作,并将继续测试!
chmod +x test.sh
./test.sh