Firefly开源社区

打印 上一主题 下一主题

[Linux] 关于udev识别u盘并触发脚本与系统自动挂载的冲突问题

18

积分

0

威望

0

贡献

技术小白

积分
18

关于udev识别u盘并触发脚本与系统自动挂载的冲突问题

发表于 2024-4-23 10:57:08      浏览:53 | 回复:0        打印      只看该作者   [复制链接] 楼主
问题描述及复现步骤:
我原本是想由udev通过识别usb设备属性为block时,触发我编写的trigger.sh脚本并传参%k,在脚本中进行挂载(如'mount /dev/$1 /mnt/usb')。挂载返回值为0,但是挂载点/mnt/usb却没有东西。
而如果不在脚本中挂载,在开机后插入u盘手动执行'mount /dev/sda1 /mnt/usb' 则可以在挂载点正常访问u盘内容,尽管报了警告FUSE exfat 1.2.8        WARN: volume was not unmounted cleanly.
这时我以为是ubuntu桌面已经将u盘挂载到了/media/firefly/路径下,但是在脚本中先umount再mount还是不行。
于是只好直接在/media/firefly下操作。
为确保/media/firefly路径下文件是u盘,在trigger.sh执行以下命令:
file_path=$(find /media/firefly/ -mindepth 1 -maxdepth 1 -type d)
df_output=$(df -Th $file_path)

type=$(echo "$df_output" | awk 'NR==2 {print tolower($2)}')


却发现file_path的值为空,而在命令行中输入'find /media/firefly/ -mindepth 1 -maxdepth 1 -type d'却可以找到u盘设备,我猜测可能是由于插入u盘后先触发了我添加的/etc/udev/rules.d/80-local.rules,导致系统还未挂载u盘到/media/firefly。
我该如何正确触发我的脚本呢?








null.zip

144 Bytes, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表