Это вполне естественно и является вопросом политики и удобства, это было разрешено из GUI, потому что вы физически вошли в машину. (Некоторые дистрибутивы Linux все еще спрашивают пароль, если GUI не работает от имени root, я использую Centos 6, и там даже нет опции выключения/перезагрузки GUI для моего пользователя, есть только опция выхода и блокировки)
В псевдотерминале вам нужно быть root или иметь привилегии sudo, потому что вы не хотите, чтобы любой пользователь заходил по ssh на ваш сервер или машину и выключал или перезагружал ее.
Вы можете использовать awk
вот так:
VBoxManage list usbhost | awk -v RS="" '$0 ~ "Realtek"' | awk '/UUID/{print $NF}'
RS=""
устанавливает разделитель записей на пустую строку (по умолчанию используется новая строка ). ~
проверяет, содержится ли строка, и запись печатается по умолчанию. /regex/
выполняет регулярное выражение для каждой строки (как RS="\n"
по умолчанию )и выполняет следующий код, который печатает последнее поле, потому что $i
— это i
--е поле, а разделитель полей по умолчанию — " "
который соответствует пробелам и/или табуляциям и/или новым строкам, что в данном случае срабатывает. Дополнительную информацию о специальных значениях переменных-разделителей можно найти здесь .