Поддержание вашего пакета расширений в актуальном состоянии с помощью интерфейса командной строки.
Я предполагаю, что у вас всегда установлена последняя версия VBox (Oracle предоставляет репозитории для Ubuntu, Debian, OpnenSUSE, SLES, Fedora и Oracle Linux).
Получите номер версии последней версии:
vboxversion=$(wget -qO - https://download.virtualbox.org/virtualbox/LATEST.TXT)
wget -qO -
сохраняет wget
в тайне и извлекает содержимое этого файла в stdout
, где он может быть сохраненным в переменной.
Загрузите последний пакет расширений
wget "https://download.virtualbox.org/virtualbox/${vboxversion}/Oracle_VM_VirtualBox_Extension_Pack-${vboxversion}.vbox-extpack"
Установите его (даже если более старая версия уже существует)
sudo vboxmanage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack-${vboxversion}.vbox-extpack
Если я правильно понимаю, вы хотите записать вывод grep
в переменную и добавить любую ошибку в файл журнала.
Можно сказать:
var1=$(grep $lookUpVal foo.lookup 2>>lookup.log)
Синтаксис $ (...)
обозначает подстановку команды, т.е. выводит результат команды в переменную. По умолчанию он записывает STDOUT
команды в переменную, а STDERR
выводится на консоль. Чтобы перенаправить STDERR
в файл, вам необходимо выполнить перенаправление внутри самой команды, то есть в пределах $ (...)
.
grep foo.lookup
не является корректным примером. В нем отсутствует аргумент, либо параметр поиска, либо имя файла.
Чтобы записать только сообщения об ошибках, которые grep
возвращает в файл, можно сделать следующее:
$ grep $lookUpVal foo.lookup 2> errors.log
Все ошибки отправляются в STDERR (2>
), а весь вывод - в STDOUT (1>
). Они объединены следующим образом:
$ grep $lookUpVal foo.lookup > output.log 2>&1