저는 하나 또는 두 개의 Silicon Motion SM501 그래픽 카드가 설치된 컴퓨터에 배포하기 위한 일반적인 udev 규칙을 작성하고 있습니다. 현재 규칙은 다음과 같습니다.
TAG=="seat", ENV{ID_FOR_SEAT}=="usb-pci-*-usb-*_[34]", ENV{ID_SEAT}="seat0", TAG-="master-of-seat"
나는 이 규칙이 다음과 같은 경우에만 적용되기를 원합니다.하나카드가 존재합니다. 즉, 명령이 lspci | grep -c SM501
출력되는 경우입니다 1
. 이 동작을 달성하기 위해 규칙을 어떻게 변경할 수 있습니까?
답변1
그것은 중요하지 않습니다. 해결책을 찾은 것 같아요. 방금 RESULT
마지막 호출 PROGRAM
의 출력과 일치하는 udev라는 섹션이 있다는 것을 발견했습니다 . 그래서 규칙을 다음과 같이 업데이트했는데 작동하는 것 같습니다.
TAG=="seat", ENV{ID_FOR_SEAT}=="usb-pci-*-usb-*_[34]", PROGRAM="/bin/sh -c '/usr/bin/lspci | /bin/grep -c SM501'", RESULT=="1", ENV{ID_SEAT}="seat0", TAG-="master-of-seat"
/bin/sh -c '...'
래퍼를 넣 도록 이 규칙을 개선할 수 있습니까 PROGRAM
?