通过使用 udev 规则运行 bash 脚本来定义接口名称

通过使用 udev 规则运行 bash 脚本来定义接口名称

当我插入 USB-LTE-Dongle 并希望以编程方式确定接口名称时,我想摆脱随机接口名称。

我认为借助外部 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}

但这在某种程度上具有误导性

相关内容