如何从 CLI 检查 virtualbox 版本

75 bash virtualbox

我正在编写一个 Bash 脚本来存储Virtualbox的版本号,但无法成功。

我的脚本是:

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

我试过

virtualbox --version
virtualbox -v
virtualbox -V
virtualbox --Version
Run Code Online (Sandbox Code Playgroud)

所有似乎都打开了虚拟机而不是输出。
virtualbox --help给出版本号,但输出太长而无法存储在变量中并稍后使用。

Azk*_*erM 122

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

vboxmanage --version
Run Code Online (Sandbox Code Playgroud)

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

在此处输入图片说明

参考8.2。有关更多信息,请访问官方 VirtualBox 站点的命令概述


要使用脚本打印版本,请参见下文:

#!/bin/bash
echo $(vboxmanage --version)
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。


sou*_* c. 7

你可以试试这个

virtualbox --help | head -n 1 | awk '{print $NF}'
Run Code Online (Sandbox Code Playgroud)

或者

$ echo $(virtualbox --help | head -n 1 | awk '{print $NF}')
4.3.6
Run Code Online (Sandbox Code Playgroud)

这个怎么运作

第1步

virtualbox --help

给你一个很长的输出,上面有很多选项等等。但它的第一行就像,

Oracle VM VirtualBox Manager 4.3.6
(C) 2005-2013 Oracle Corporation
版权所有。
...

第2步

| head -n 1

|称为管道。它在命令行中有很好的应用。它将整个表达式传递给下一个命令headhead -n 1只打印第一行。查看man head更多。在这个阶段输出只有

Oracle VM VirtualBox 管理器 4.3.6

步骤-3

| awk '{print $NF}'

剩下的东西再次传递给awk. 在此阶段,awk将整行视为由空格分隔的几个字段的组合,并仅打印上述表达式的最后一个字段。所以你只能得到版本。查看man awk更多。