udev 규칙에 대해 더 알고 싶어서 간단한 규칙을 구현했지만 저에게는 작동하지 않습니다.
/etc/udev/rules.d:
KERNEL=="sdb1"
ACTION=="add"
RUN+="~/test/exe.sh"
~/테스트/exe.sh:
#!/bin/bash
echo "USB plugged in" > ~/test/showup.txt
파일은 .sh
실행 가능하며 플래시 드라이브의 이름을 확인했습니다 lsblk
. 라고 불리며 파티션이 sdb
있습니다 sdb1
.
다른 튜토리얼을 찾아봤지만 오류를 찾을 수 없습니다. 혹시라도 저는 Arch Linux를 사용합니다.
답변1
udev 규칙은 루트에 의해 실행됩니다.
RUN+="~/test/exe.sh"는 "/root/test/exe.sh"와 동일하지만 udev 규칙은 "~"를 인식하지 못하는 것 같습니다. 경로를 수정하면 이 문제를 해결할 수 있습니다.
"/usr/bin/exe.sh"에 스크립트를 넣는 것이 더 나을 수도 있습니다.