我需要移植一个bash脚本,它使用不推荐的HAL工具,如hal-get-property
或hal-find-by-capability
到udev。 HAL指出HAL已合并到udev中,但我无法找到有关如何将此脚本正确移植到udev的有用信息。替换为udev中的hal-get-property和hal-find-by-capability?
例子: 如果我想所有的存储硬件(与HAL)的列表,我可以运行
hal-find-by-capability --capability storage
这会给我UDI的(唯一设备标识符)的列表,寻找这样的:
/org/freedesktop/Hal/devices/storage_model_Virtual_disk
/org/freedesktop/Hal/devices/storage_serial_00000000000000000001
/org/freedesktop/Hal/devices/platform_floppy_0_storage
如果我现在想找出是否/org/freedesktop/Hal/devices/storage_model_Virtual_disk
是可拆卸的,我可以发出以下查询
hal-get-property --udi /org/freedesktop/Hal/devices/storage_model_Virtual_disk --key storage.removable
,它会回答true
或false
。
所以我的问题是:
我该如何做这些事情没有HAL?
sysfsutils(systool
)可以工作,但它似乎不是一个合适的替代品。
这是使用udevadm info
吗?
是''udevadm info --query = property''你在找什么,可能是以''udevadm info --query = property --name = $ 2''的形式和其他一些参数来选择设备。由于我没有hal,我不知道''--udi''参数采取什么形式,请告诉我们。 –
我编辑了我原来的问题。这是否回答你的问题? – 0x80