udev run을 사용하여 /dev/kmsg에 씁니다.

udev run을 사용하여 /dev/kmsg에 씁니다.

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'"

스크립트를 호출하는 것이 더 명확할 것입니다.

관련 정보