Я хочу сделать, автоматическое монтирование каждая карта памяти к статическому пути. Но когда я отправляю имя ядра с %k к сценарию оболочки, это возвращается как 1-3, 2-4... не sdc1, sdd1... s [b-z] [1-9]
это - мои 10-local.rules правила udev
SUBSYSTEM=="usb",ACTION=="add",SYMLINK+="usb_%k",RUN+="/home/etc/udev-mount.sh %k "
ACTION=="remove",SUBSYSTEM=="usb",RUN+="/home/etc/udev-umount.sh %k"
~
~
и сценарий оболочки
#!/bin/sh
DEVICE=$1
mkdir -p /app/$DEVICE
mount /dev/$DEVICE /app/$DEVICE
Я использую UBUNTU 16.04
пожалуйста, помогите мне..
На самом деле Вы получаете правильное использование имени ядра %k
и это передается сценарию.
Однако Ваше условие правила является слепым SUBSYSTEM=="usb"
, это фильтрует другие узлы устройства кроме тех, Вы хотите (устройства раздела).
Смотрите на странице справочника UDEV, как различие SUBSYSTEM=..
по сравнению с SUBSYSTEMS=..
, использовать udevadm info -a ..
получить больше информации для условия.
Можно использовать этот простой
..,KERNEL="sd[a-z][0-9]*",SUBSYSTEMS=="usb",..