我需要移植一個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