udev 규칙이 작동하지 않습니다.

udev 규칙이 작동하지 않습니다.

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"에 스크립트를 넣는 것이 더 나을 수도 있습니다.

관련 정보