Firefly开源社区
标题:
关于udev识别u盘并触发脚本与系统自动挂载的冲突问题
[打印本页]
作者:
MaybeNot
时间:
2024-4-23 10:57
标题:
关于udev识别u盘并触发脚本与系统自动挂载的冲突问题
我原本是想由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。
我该如何正确触发我的脚本呢?
tchip_askquestions
null.zip
2024-4-23 10:56 上传
点击文件名下载附件
下载积分: 灯泡 -1 , 经验 -1
144 Bytes, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1
欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/)
Powered by Discuz! X3.1