[Eisfair] udev-Regel nach SCSI-ID

Marcus Roeckrath marcus.roeckrath at gmx.de
Di Aug 29 17:34:48 CEST 2017


Hallo Detlef,

Detlef Paschke wrote:

>> Kann es sein, dass $env{ID_PATH} leer ist?
>> 
>> IMHO muss ein Wert, den das externen Kommando auslesen soll, erst ins
>> Environment geschrieben werden:
>> 
>> ENV{ID_PATH}, IMPORT{program}="/bin/echo $env{ID_PATH} | cut -d- -f4"
> 
> die Zeile Bemängelt udevadm so.
> 
> eisfair # udevadm test /block/sde/sde1
> ....
> Reading rules file: /etc/udev/rules.d/10-backplane.rules
> invalid key/value pair in file /etc/udev/rules.d/10-backplane.rules on
> line 29, starting at character 1 ('E')

Habe das mit ENV zum Setzen von Environmentvariablen aus:

https://www.suse.com/de-de/documentation/sles11/singlehtml/book_sle_admin/cha.udev.html

ENV{Schlüssel}

Weist udev an, eine Umgebungsvariable zu exportieren. Wenn der Operator ==
verwendet wird, überprüft dieser Schlüssel, ob der Wert einer
Umgebungsvariable mit dem angegebenen Wert übereinstimmt.

> Und ich habe noch mal drüber nachgedacht, $env{ID_PATH} kann gar nicht
> leer sein.

IMPORT{program}="/bin/echo $env{ID_PATH} >> /tmp/udevtest.log"

umzu sehen, ob das externe Kommando überhaupt einen Wert sieht.

Es ist ein Unterscheid, ob das laufende Kommando intern eine Variable setzt,
oder ob diese auch einem externen Programm zur Verfügung steht.

IMPORT{program}="set > /tmp/udevtest.log"

müsste das gesamte Environment eines von udev gestarteten Kommandos
anzeigen.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair