![udev-Regel funktioniert nicht](https://rvso.com/image/1395270/udev-Regel%20funktioniert%20nicht.png)
Ich versuche, eine Udev-Regel für ein USB-Laufwerk-Plugin zu schreiben. Ich möchte es zuerst mounten /media
und dann das Skript ausführen /usr/local/bin/script.sh
. Wenn ich das USB-Gerät einstecke, wird das Gerät mit dieser Regel nicht einmal gemountet. Wenn ich den Teil in RUN jedoch manuell in das Terminal eingebe, wird das Skript gemountet und ausgeführt.
In der Regeldatei steht:
ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh"
Ist dies die richtige Methode, um zwei Befehle im RUN-Abschnitt der Regel auszuführen?
Antwort1
Das ist nicht die richtige Art, zwei Befehle auszuführen. Der Matching-Teil Ihrer Regel gefällt mir auch nicht, aber ich werde ihn für dieses Beispiel so lassen, wie er ist. Sie könnten Folgendes tun:
ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/sh -c '/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh'"
oder
ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/", RUN+="/usr/local/bin/script.sh"
aber warum verschieben Sie den Befehl in Ihrem Fall nicht einfach mount
in Ihr Skript?