web-dev-qa-db-fra.com

Comment vérifier la version de virtualbox à partir de la CLI

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 une variable et utilisée plus tard.

62
user126851

Pour imprimer ou afficher la version actuelle de VirtualBox , utilisez la commande ci-dessous:

vboxmanage --version

qui imprimera alors la version actuelle comme on le voit ci-dessous;

enter image description here

Reportez-vous à 8.2. Aperçu des commandes sur le site officiel de VirtualBox pour plus d'informations.


Pour imprimer la version à l'aide du script, voir ci-dessous:

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

J'espère que ça aide.

100
AzkerM

Tu peux essayer ça,

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 les droits sont 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 commande suivante head. head -n 1 affiche uniquement la première ligne. voir man head pour plus d'informations. A ce stade, la sortie est seulement

Oracle VM VirtualBox Manager 4.3.6

étape -

| awk '{print $NF}'

Là encore, les éléments restants sont passés à awk. À cette étape, awk voit 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 seulement. Voir man awk pour plus d'informations.

6
souravc

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

dpkg -l | grep virtualbox | awk '{print $3}'
2
Mina Eid
 avi @ avi-IdeaPad-Z500: ~ $ virtualbox --help 
 Oracle VM VirtualBox Manager 4.3.6 

Alors lancez la commande ci-dessous,

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

Sortie:

4.3.6

awk '/Oracle/{ print $5 }'

Recherche la ligne qui consiste en Word Oraclename__. Si oui, la commande sélectionne la cinquième colonne de cette ligne et la redirige vers la sortie standard. Si aucun mot de ce type n'était présent sur aucune ligne, il n'affiche rien.

1
Avinash Raj