Come controllo la versione di virtualbox dalla CLI

52

Sto scrivendo uno script Bash per memorizzare il numero di versione di Virtualbox , ma non ci riesco.

Il mio script è:

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

Ho provato

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

tutto sembra aprire la virtualbox anziché l'output.
virtualbox --help fornisce il numero di versione, ma l'output è troppo lungo per essere memorizzato nella variabile e usarlo più tardi.

    
posta Braiam 13.02.2014 - 14:34

4 risposte

82

Per stampare o visualizzare la versione VirtualBox corrente dovresti usare il comando seguente:

vboxmanage --version

che stamperà la versione corrente come mostrato di seguito;

Consulta 8.2. Panoramica dei comandi sul sito ufficiale di VirtualBox per ulteriori informazioni.

Per stampare la versione usando lo script, vedi sotto:

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

Spero che ti aiuti.

    
risposta data AzkerM 13.02.2014 - 14:44
6

Puoi provare questo,

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

o

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

Come funziona

Passaggio -1

virtualbox --help

ti dà un lungo output che dice molte opzioni ecc. Ma le sue primissime linee sono come,

  

Oracle VM VirtualBox Manager 4.3.6
  (C) Oracle Corporation 2005-2013   Tutti i diritti riservati.
  ...

Passaggio -2

| head -n 1

| è chiamato pipe. Ha una grande applicazione in linea di comando. Passa l'intera espressione al comando successivo head . head -n 1 stampa solo la prima riga. vedere man head per ulteriori informazioni. A questo punto l'output è solo

  

Oracle VM VirtualBox Manager 4.3.6

Passaggio -3

| awk '{print $NF}'

Anche in questo caso le cose rimanenti vengono passate a awk . In questa fase awk vede l'intera linea come combinazioni di pochi campi separati da spazio e stampa solo l'ultimo campo dell'espressione precedente. Quindi ottieni solo la versione. Visualizza man awk per ulteriori.

    
risposta data souravc 13.02.2014 - 14:44
2

potresti conoscere la versione del pacchetto installato con dpkg e grep con piping

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

Quindi esegui il comando seguente,

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

Output:

4.3.6

awk '/Oracle/{ print }'

Cerca la riga che consiste nella parola Oracle . Se sì, il comando preleva la quinta colonna su quella linea e la reindirizza sullo standard output. Se nessuna parola era presente su nessuna riga, non visualizza nulla .

    
risposta data Avinash Raj 13.02.2014 - 14:43

Leggi altre domande sui tag