Saya telah menulis file di 90-usb.rules
bawah yang /etc/udev/rules.d/
berisi:
ACTION=="add", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="2008", RUN+="/bin/mkdir /home/pandya/Desktop/testdir"
ACTION=="remove", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="2008", RUN+="/bin/rmdir /home/pandya/Desktop/testdir"
Ketika saya terhubung ke perangkat udev ACTION=="add"
membuat direktori dengan cara RUN+="/bin/mkdir /home/pandya/Desktop/testdir"
(yang berfungsi dengan baik)
TETAPI ketika saya mencabut perangkat udev yang serupa ACTION=="remove
tidak menghapus direktori dengan caraRUN+="/bin/rmdir /home/pandya/Desktop/testdir"
Tidak ada masalah dengan /bin/rmdir
karena saya juga telah memeriksa dengan menggantinya dengan yang lain mkdir
( RUN+="/bin/mkdir /home/pandya/Desktop/testdir2"
) tetapi ini juga tidak berfungsi.
Jadi, saya ingin tahu bahwa Mengapa tindakan penghapusan tidak berfungsi? Bagaimana saya memperbaikinya?
ENV
berfungsi. Saya mencobaENV{ID_MODEL}
yang berfungsi dengan baik. Terima kasih (BTW jika Anda tertarik untuk mengirim jawaban, maka mintalah saya untuk menambahkanudevadm monitor --property
output dalam pertanyaan ATAU saya akan melanjutkan untuk jawaban?)Jawaban:
Sesuai saran ini , (di sini) dikomentari oleh @don_crissti saya memberikan solusi yang bekerja untuk saya.
Berikut ini adalah output dari
udevadm monitor --property
saat melepas perangkat (garis KERNEL dilewati dan hanya penghapusan UDEV terakhir yang terpasang di bawah)Dari atas saya telah menggunakan Lingkungan dalam aturan udev saya untuk dan sekarang aturan udev menjadi:
ID_MODEL
=Micromax_A74
ACTION=="remove"
Sekarang menghapus
testdir
dengan caraACTION=="remove"
Oleh karena itu, solusinya adalah: Gunakan lingkungan yang sesuai seperti sebagai
ID_MODEL
gantiATTR{idVendor}
&ATTR{idProduct}
diACTION=="remove"
sumber