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

スクリプトを呼び出す方が明確になります。

おすすめ記事