CLIからvirtualboxのバージョンを確認する方法


65

Virtualboxのバージョン番号を保存するBashスクリプトを書いていますが、成功しません。

私のスクリプトは:

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

私は試した

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

すべてが出力の代わりにvirtualboxを開くようです。
virtualbox --helpはバージョン番号を示しますが、出力が長すぎて変数に保存して後で使用することはできません。

回答:


107

現在のVirtualBoxのバージョンを印刷または表示するには、次のコマンドを使用する必要があります。

vboxmanage --version

以下に示すように、現在のバージョンを印刷します。

ここに画像の説明を入力してください

8.2を参照してください詳細については、公式のVirtualBoxサイトでのコマンドの概要


スクリプトを使用してバージョンを印刷するには、以下を参照してください。

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

それが役に立てば幸い。


1
echo $(vboxmanage --version | head -n 1 | awk '{print $NF}')そしてecho $(vboxmanage --version)違いは何ですか?同じじゃない?
souravc 14

@souravc-ここでのコメントでは、--version1行と1フィールドのみを出力するを使用しています。そのため、headand awkを使用してトリミングすることは冗長であり、はい、同じ結果を出力します。以下の答えでは、の--help代わりにを使用します。その--version場合headawkトリミングは実際に必要です...しかし、経由--helpで見つかったバージョンは#。#。#--versionと#。#。#を生成するだけなので、精度の低い情報が得られます。 r#(リビジョン情報付きのバージョン)。
-DreadPirateShawn

@DreadPirateShawnあなたは正しいです、今では不要です。当時、vboxmanage私はそれを提案した理由が他の情報とともに来ていました。編集見ることができます、OPは私の提案を受け入れました。なぜ物事を複雑にするのでしょうか?)
souravc

@souravc-ああ...コンテキストが物事をより明確にする方法が面白い。:-Pだから...優れたヒント。:-)
DreadPirateShawn

VBox 5.0以降、vbox-img --versionバージョンも印刷できます。
ケノーブ

7

これを試すことができます、

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
無断転載を禁じます。
...

ステップ2

| head -n 1

|パイプと呼ばれます。コマンドラインでの優れたアプリケーションがあります。式全体を次のコマンドに渡しheadます。head -n 1最初の行のみを印刷します。詳細man headを参照してください。この段階では、出力は

Oracle VM VirtualBox Manager 4.3.6

ステップ-3

| awk '{print $NF}'

再び、残りのものはに渡されawkます。この段階でawkは、行全体をスペースで区切られた少数のフィールドの組み合わせと見なし、上記の式の最後のフィールドのみを出力します。したがって、バージョンのみを取得します。詳細man awkをご覧ください。


コマンドを分析し、各部の機能を説明できれば素晴らしいと思います。
jobin

@Jobin plzが私の編集を見る。
souravc

2

dpkgとgrepをパイピングでインストールしたパッケージのバージョンを知ることができます

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

これらのパイプされたコマンドのそれぞれは何をするのか、詳細にしてください。
ジョブイン

1
avi @ avi-IdeaPad-Z500:〜$ virtualbox --help
Oracle VM VirtualBox Manager 4.3.6

以下のコマンドを実行して、

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

出力:

4.3.6

awk '/Oracle/{ print $5 }'

単語で構成される行を検索しOracleます。yesの場合、コマンドはその行の5番目の列を選択し、標準出力にリダイレクトします。そのような単語が行にない場合は、何も表示しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.