regra do udev não funciona

regra do udev não funciona

Estou tentando escrever uma regra do udev para o plugin da unidade USB. Quero primeiro montá-lo /mediae depois executar o script em /usr/local/bin/script.sh. Quando insiro o USB ele nem monta o aparelho com essa regra. No entanto, se eu digitar manualmente a parte RUN no terminal, ele monta e executa o script.

O arquivo de regras diz:

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh"

Esta é a maneira correta de executar dois comandos na seção RUN da regra?

Responder1

Não é a maneira correta de executar 2 comandos. Também não gosto da parte correspondente da sua regra, mas vou deixá-la como está neste exemplo. Você poderia fazer :

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/sh -c '/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh'"

ou

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/", RUN+="/usr/local/bin/script.sh"

mas no seu caso, por que você simplesmente não move o mountcomando dentro do seu script?

informação relacionada