USB 장치 이름을 지정하기 위해 간단한 udev 규칙을 작성했습니다.
SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="ttyUSB-ZStick-5G"
udev는 특정 이벤트에 대해 사용자 정의 스크립트를 실행하는 방법을 제공합니다(인용하다:
KERNEL=="sdb", RUN+="/usr/bin/my_program"
그러나 위의 솔루션은 에 표시될 내용만 인쇄하고 싶습니다 dmesg
. 복잡하지도 않고 별도의 스크립트도 필요하지 않습니다.
제가 이상적으로 달성하고 싶은 것은 다음과 같습니다.
SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="ttyUSB-ZStick-5G", RUN+="echo 'Made symlink: ttyUSB-ZStick-5G' > /dev/kmsg"
이 작업을 수행하는 방법에 대한 아이디어가 있습니까?
답변1
~처럼수동설명하다:
프로그램 이름과 후속 매개변수는 공백으로 구분됩니다. 공백이 포함된 매개변수를 지정하려면 작은따옴표를 사용할 수 있습니다.
전달된 문자열은 RUN
쉘로 전송되지 않습니다. 조잡한 참조 메커니즘을 통해 공백으로 분할됩니다. 리디렉션을 수행하려면 셸을 호출해야 합니다.
… RUN+="sh -c 'echo Made symlink: ttyUSB-ZStick-5G > /dev/kmsg'"
스크립트를 호출하는 것이 더 명확할 것입니다.