Como faço para verificar a versão do VirtualBox da CLI

52

Estou escrevendo um script Bash para armazenar o número de versão do Virtualbox , mas não consigo.

Meu script é:

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

Eu tentei

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

tudo parece abrir a caixa virtual em vez da saída.
virtualbox --help fornece o número da versão, mas a saída é muito longa para armazenar em variável e usar depois.

    
por Braiam 13.02.2014 / 14:34

4 respostas

79

Para imprimir ou visualizar a versão atual do VirtualBox você deve usar o comando abaixo:

vboxmanage --version

que então imprimirá a versão atual como visto abaixo;

Consulte 8.2. Visão geral dos comandos no site oficial do VirtualBox para mais informações.

Para imprimir a versão usando o script, veja abaixo:

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

Espero que ajude.

    
por AzkerM 13.02.2014 / 14:44
6

Você pode tentar isso,

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

ou

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

Como funciona

Passo -1

virtualbox --help

oferece uma saída longa dizendo muitas opções, etc. Mas suas primeiras linhas são como

  

Oracle VM VirtualBox Manager 4.3.6
  (C) 2005-2013 Oracle Corporation
  Todos os direitos reservados.
  ...

Passo -2

| head -n 1

| é chamado de pipe. Tem ótima aplicação na linha de comando. Ele passa a expressão inteira para o próximo comando head . head -n 1 imprime apenas a primeira linha. veja man head para mais. Neste estágio, a saída é apenas

  

Oracle VM VirtualBox Manager 4.3.6

Passo -3

| awk '{print $NF}'

Novamente, as coisas restantes são passadas para awk . Neste estágio, awk vê a linha inteira como combinações de poucos campos separados por espaço e imprime apenas o último campo da expressão acima. Então você obtém apenas a versão. Veja man awk para mais.

    
por souravc 13.02.2014 / 14:44
2

você poderia saber a versão do pacote instalado com o dpkg e o grep com o piping

dpkg -l | grep virtualbox | awk '{print }'
    
por Mina Eid 13.02.2014 / 14:44
1
[email protected]:~$ virtualbox --help
Oracle VM VirtualBox Manager 4.3.6

Então, execute o comando abaixo,

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

Saída:

4.3.6

awk '/Oracle/{ print }'

Procura a linha que consiste na palavra Oracle .Se sim, o comando pega a quinta coluna nessa linha e a redireciona para a saída padrão. Se essa palavra não estiver presente em nenhuma linha, ela não exibirá nada. .

    
por Avinash Raj 13.02.2014 / 14:43