Как я могу разобрать значение usbhost списка VBoxManage, чтобы получить UUID устройства с определенным именем?

Это вполне естественно и является вопросом политики и удобства, это было разрешено из GUI, потому что вы физически вошли в машину. (Некоторые дистрибутивы Linux все еще спрашивают пароль, если GUI не работает от имени root, я использую Centos 6, и там даже нет опции выключения/перезагрузки GUI для моего пользователя, есть только опция выхода и блокировки)

В псевдотерминале вам нужно быть root или иметь привилегии sudo, потому что вы не хотите, чтобы любой пользователь заходил по ssh на ваш сервер или машину и выключал или перезагружал ее.

0
08.10.2018, 04:50
1 ответ

Вы можете использовать awkвот так:

VBoxManage list usbhost | awk -v RS="" '$0 ~ "Realtek"' | awk '/UUID/{print $NF}'

RS=""устанавливает разделитель записей на пустую строку (по умолчанию используется новая строка ). ~проверяет, содержится ли строка, и запись печатается по умолчанию. /regex/выполняет регулярное выражение для каждой строки (как RS="\n"по умолчанию )и выполняет следующий код, который печатает последнее поле, потому что $i— это i--е поле, а разделитель полей по умолчанию — " "который соответствует пробелам и/или табуляциям и/или новым строкам, что в данном случае срабатывает. Дополнительную информацию о специальных значениях переменных-разделителей можно найти здесь .

0
28.01.2020, 04:12

Теги

Похожие вопросы