当前位置: 首页>>技术问答>>正文


如何从CLI检查虚拟机版本

, ,

问题描述

我正在编写一个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给出版本号,但输出太长而无法存储在变量中并在以后使用。

最佳解决办法

要打印或查看当前的VirtualBox版本,您应该使用以下命令:

vboxmanage --version

然后将打印当前版本,如下所示;

bash,virtualbox,ubuntu

有关更多信息,请参阅官方VirtualBox站点上的8.2. Command overview


要使用脚本打印版本,请参阅以下内容:

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

希望能帮助到你。

次佳解决办法

你可以试试这个,

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
All rights reserved.

第2步

| head -n 1

|称为管道。它在命令行中有很好的应用。它将整个表达式传递给下一个命令headhead -n 1仅打印第一行。有关更多信息,请参阅man head。在此阶段仅输出

Oracle VM VirtualBox Manager 4.3.6

第3步

| awk '{print $NF}'

剩下的东西再次传递给awk。在此阶段,awk将整行视为由空格分隔的少数字段的组合,并仅打印上述表达式的最后一个字段。所以你只得到版本。有关更多信息,请参阅man awk

第三种解决办法

您可以知道使用dpkg安装的软件包版本和使用管道安装的grep

dpkg -l | grep virtualbox | awk '{print $3}'

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1588.html,未经允许,请勿转载。