Как проверить версию виртуальной камеры из командной строки

47

Я пишу скрипт Bash для хранения номера версии Virtualbox , но не могу добиться успеха.

Мой скрипт:

#!/bin/bash
installed_virtualbox=$(virtualbox --version) # --version this is what I want to change

Я пробовал

virtualbox --version
virtualbox -v
virtualbox -V
virtualbox --Version

все, кажется, открывают виртуальный бокс вместо вывода.
virtualbox --help указывает номер версии, но вывод слишком длинный для хранения в переменной и использования позже.

    
задан Braiam 13.02.2014 в 14:34
источник

4 ответа

78

Чтобы распечатать или просмотреть текущую версию VirtualBox , вы должны использовать следующую команду:

vboxmanage --version

, который затем распечатает текущую версию, как показано ниже;

Обратитесь 8.2. Обзор команд на официальном сайте VirtualBox для более подробной информации.

Чтобы распечатать версию с помощью сценария, см. ниже:

#!/bin/bash
echo $(vboxmanage --version)

Надеюсь, что это поможет.

    
ответ дан AzkerM 13.02.2014 в 14:44
источник
6

Вы можете попробовать это,

virtualbox --help | head -n 1 | awk '{print $NF}'

или

$ echo $(virtualbox --help | head -n 1 | awk '{print $NF}')
4.3.6

Как это работает

Шаг -1

virtualbox --help

дает вам длинный вывод, говорящий о многих вариантах и ​​т. д. Но его первые строки похожи на

  

Oracle VM VirtualBox Manager 4.3.6
  (C) 2005-2013 Oracle Corporation
  Все права защищены.
  ...

Шаг -2

| head -n 1

| называется трубой. Он отлично работает в командной строке. Он передает целое выражение следующей команде head . head -n 1 печатает только первую строку. см. man head . На этом этапе вывод только

  

Oracle VM VirtualBox Manager 4.3.6

Шаг -3

| awk '{print $NF}'

Опять остальные вещи передаются в awk . На этом этапе awk видит всю строку как комбинацию нескольких полей, разделенных пробелом, и печатает только последнее поле указанного выражения. Таким образом, вы получаете только версию. Подробнее см. В man awk .

    
ответ дан souravc 13.02.2014 в 14:44
2

вы могли бы знать версию пакета, установленного с dpkg и grep с трубопроводом

dpkg -l | grep virtualbox | awk '{print }'
    
ответ дан Mina Eid 13.02.2014 в 14:44
1
[email protected]:~$ virtualbox --help
Oracle VM VirtualBox Manager 4.3.6

Итак, запустите команду ниже,

virtualbox --help | awk '/Oracle/{ print  }'

Вывод:

4.3.6

awk '/Oracle/{ print }'

Ищет строку, состоящую из слова Oracle . Если да, то команда берет пятый столбец на этой строке и перенаправляет его на стандартный вывод. Если такое слово не было на каких-либо строках, тогда оно ничего не отображает .     

ответ дан Avinash Raj 13.02.2014 в 14:43