udev 규칙을 사용하여 bash 스크립트를 실행하여 인터페이스 이름을 정의합니다.

udev 규칙을 사용하여 bash 스크립트를 실행하여 인터페이스 이름을 정의합니다.

USB-LTE-동글을 연결할 때 임의의 인터페이스 이름을 제거하고 인터페이스 이름을 프로그래밍 방식으로 결정하고 싶습니다.

외부 bash 스크립트의 도움으로 잠재적인 이름을 얻는 것이 가장 쉽다고 생각합니다. 스크립트 결과를 "%c"에 할당하여 ENV{MY_VAR}에 저장할 수 있다는 내용을 읽었지만 실제로는 작동하지 않습니다.

udevadm -e로 모니터링하는데 MY_VAR이 비어 있습니다.

SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="12d1", IMPORT{program}="/some/determined_name.sh", ENV{MY_VAR}="%c"

다른 줄에서는 MY_VAR을 읽고 이를 인터페이스 이름에 할당하고 싶습니다. 이것도 작동하지 않습니다.

SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="12d1", NAME=ENV{MY_VAR}

어떤 팁이 있나요?

답변1

해결책을 찾았습니다.

SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="12d1", Program="/some/determined_name.sh", NAME="%c"

처음에는 그래야 한다고 생각했어요

IMPORT{program}

하지만 이는 다소 오해의 소지가 있다

관련 정보