Как отправить имя Ядра в правилах udev?

Я хочу сделать, автоматическое монтирование каждая карта памяти к статическому пути. Но когда я отправляю имя ядра с %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

пожалуйста, помогите мне..

1
задан 10 October 2018 в 12:56

1 ответ

  • На самом деле Вы получаете правильное использование имени ядра %k и это передается сценарию.

  • Однако Ваше условие правила является слепым SUBSYSTEM=="usb" , это фильтрует другие узлы устройства кроме тех, Вы хотите (устройства раздела).

    Смотрите на странице справочника UDEV, как различие SUBSYSTEM=.. по сравнению с SUBSYSTEMS=.. , использовать udevadm info -a .. получить больше информации для условия.

  • Можно использовать этот простой

    ..,KERNEL="sd[a-z][0-9]*",SUBSYSTEMS=="usb",..
    
1
ответ дан 7 December 2019 в 15:13

Другие вопросы по тегам:

Похожие вопросы: