我原本是想由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。 我该如何正确触发我的脚本呢? |
-
144 Bytes, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1