Bash
如何確定 USB 設備類別和儲存設備號?
我正在編寫一個腳本來確定連接的 USB 設備是否是大容量儲存設備,如果是,則儲存設備編號。我還希望它可以與多個連接的 USB 記憶棒一起使用。
這是基本思想:
如果
lsusb -t | grep Class=Mass
匹配,則將設備 ID 保存為變數。|__ Port 4: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 480M ^^^^^
換句話說:如果“Dev x”後面的詞與我的搜尋匹配,我該如何獲取?
我對 Linux、bash 或 regex 沒有那麼豐富的經驗。如果這很奇怪或不切實際,那麼我願意接受其他建議。
你可以使用 awk:
lsusb -t | awk -F '[:,]''/Class=Mass/{print $2}'
我們搜尋
Class=Mass
,分隔符是:
,,
如果找到Class=Mass
,則列印輸出的第二列,這將為您提供:Dev 5