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}

しかし、これはやや誤解を招く

おすすめ記事