Comment vérifier la version de la boîte virtuelle depuis l'interface de ligne de commande

52

J'écris un script Bash pour stocker le numéro de version de Virtualbox , mais ne peut pas réussir.

Mon script est:

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

j'ai essayé

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

tout semble ouvrir la virtualbox au lieu de la sortie.
virtualbox --help donne le numéro de version, mais la sortie est trop longue pour être stockée dans la variable et utilisée plus tard.

    
posée Braiam 13.02.2014 - 14:34
la source

4 réponses

82

Pour imprimer ou afficher la version actuelle de VirtualBox , utilisez la commande suivante:

vboxmanage --version

qui imprimera alors la version actuelle comme ci-dessous;

Référez-vous à 8.2. Vue d'ensemble des commandes sur le site officiel de VirtualBox pour en savoir plus.

Pour imprimer la version en utilisant le script, voir ci-dessous:

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

J'espère que ça aide.

    
réponse donnée AzkerM 13.02.2014 - 14:44
la source
6

Vous pouvez essayer ceci,

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

ou

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

Comment ça marche

Étape -1

virtualbox --help

vous donne une longue sortie en disant beaucoup d'options etc. Mais ses toutes premières lignes sont comme,

  

Oracle VM VirtualBox Manager 4.3.6
  (C) 2005-2013 Oracle Corporation
  Tous droits réservés.
  ...

Étape -2

| head -n 1

| s'appelle pipe. Il a une grande application en ligne de commande. Il passe l'expression entière à la prochaine commande head . head -n 1 imprime uniquement la première ligne. voir man head pour plus. A ce stade, la sortie est uniquement

  

Oracle VM VirtualBox Manager 4.3.6

Étape 3

| awk '{print $NF}'

Encore une fois, les choses restantes sont transmises à awk . A ce stade, awk considère la ligne entière comme une combinaison de quelques champs séparés par un espace et n'imprime que le dernier champ de l'expression ci-dessus. Donc, vous obtenez la version uniquement. Voir man awk pour plus.

    
réponse donnée souravc 13.02.2014 - 14:44
la source
2

vous pourriez connaître la version du paquet installé avec dpkg et grep avec le piping

dpkg -l | grep virtualbox | awk '{print }'
    
réponse donnée Mina Eid 13.02.2014 - 14:44
la source
1
[email protected]:~$ virtualbox --help
Oracle VM VirtualBox Manager 4.3.6

Alors lancez la commande ci-dessous,

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

Sortie:

4.3.6

awk '/Oracle/{ print }'

Recherche la ligne composée du mot Oracle . Si oui, la commande reprend la cinquième colonne de cette ligne et la redirige vers la sortie standard. Si aucun mot n’était présent sur les lignes, il n’affiche rien. .

    
réponse donnée Avinash Raj 13.02.2014 - 14:43
la source

Lire d'autres questions sur les étiquettes