আমি কীভাবে সি এল এল থেকে ভার্চুয়ালবক্স সংস্করণ চেক করব


65

ভার্চুয়ালবক্সের সংস্করণ নম্বর সংরক্ষণের জন্য আমি বাশ স্ক্রিপ্ট লিখছি , তবে সফল হতে পারে না।

আমার লিপিটি হ'ল:

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

আমি চেষ্টা করেছিলাম

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

সমস্ত আউটপুট পরিবর্তে ভার্চুয়ালবক্স খুলতে হবে বলে মনে হচ্ছে।
virtualbox --helpসংস্করণ নম্বর দেয় তবে আউটপুটটি ভেরিয়েবলের মধ্যে সঞ্চয় করতে এবং পরে ব্যবহার করতে খুব দীর্ঘ।

উত্তর:


107

বর্তমান ভার্চুয়ালবক্স সংস্করণটি মুদ্রণ বা দেখতে আপনার নীচের কমান্ডটি ব্যবহার করা উচিত:

vboxmanage --version

যা নীচে প্রদর্শিত হিসাবে বর্তমান সংস্করণ মুদ্রণ করবে;

এখানে চিত্র বর্ণনা লিখুন

পড়ুন 8.2। আরও জন্য অফিসিয়াল ভার্চুয়ালবক্স সাইটে কমান্ড ওভারভিউ


স্ক্রিপ্টটি ব্যবহার করে সংস্করণটি মুদ্রণ করতে নীচে দেখুন:

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

আশা করি এটা সাহায্য করবে.


1
echo $(vboxmanage --version | head -n 1 | awk '{print $NF}')এবং echo $(vboxmanage --version)পার্থক্য কি? তারা কি এক নয়?
সৌরভসি

@ সৌরভ - আপনার মন্তব্যে এখানে আপনি ব্যবহার করেছেন --version, যা কেবল একটি লাইন এবং একটি ক্ষেত্রকে আউটপুট করে; সুতরাং ব্যবহার headএবং awkছাঁটাই অপ্রয়োজনীয় এবং হ্যাঁ তারা একই ফলাফল আউটপুট। নীচে আপনার উত্তরে, আপনি --helpপরিবর্তে ব্যবহার করুন --version, সেই ক্ষেত্রে headএবং awkছাঁটাই করা সত্যই প্রয়োজনীয় ... তবে আপনি এখনও কম-সুনির্দিষ্ট তথ্য পান, কারণ এর মাধ্যমে পাওয়া সংস্করণটি --helpকেবল #। #। # --versionযা ফলন দেয় #। #। # r # (পুনর্বিবেচনার তথ্য সহ সংস্করণ)।
ড্রেডপাইরেটশান

আপনি এখনই ঠিক আছেন তবে এটি অপ্রয়োজনীয় @ সেই সময় vboxmanageআমি অন্য কিছু তথ্য নিয়ে আসতাম যে কারণে আমি এটি প্রস্তাব করি। আপনি সম্পাদনা দেখতে পাবেন , ওপি আমার পরামর্শ গ্রহণ করেছে। আমি কেন জিনিসগুলিকে জটিল করে
তুলব

@ সৌরভ - আহহ্ ... মজার বিষয় কীভাবে বিষয়গুলি আরও স্পষ্ট করে তোলে। :-P তাই ... দুর্দান্ত টিপ। :-)
ড্রেডপাইরেটশান

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

আপনাকে অনেকগুলি বিকল্প ইত্যাদি বলে দীর্ঘ আউটপুট দেয় তবে এটির প্রথম লাইনগুলি হ'ল

ওরাকল ভিএম ভার্চুয়ালবক্স পরিচালক 4.3.6
(সি) 2005-2013 ওরাকল কর্পোরেশন
সমস্ত অধিকার সংরক্ষিত।
...

ধাপ ২

| head -n 1

|পাইপ বলা হয়। কমান্ড লাইনে এটির দুর্দান্ত প্রয়োগ রয়েছে। এটি সম্পূর্ণ এক্সপ্রেশনটি পরবর্তী কমান্ডে প্রেরণ করে headhead -n 1শুধুমাত্র প্রথম লাইনটি মুদ্রণ করে। আরও man headজন্য দেখুন। এই পর্যায়ে আউটপুট কেবল হয়

ওরাকল ভিএম ভার্চুয়ালবক্স ম্যানেজার 4.3.6

ধাপ 3

| awk '{print $NF}'

আবার বাকী জিনিসগুলিতে পাস করা হয় awk। এই পর্যায়ে awkপুরো লাইনটি স্থান দ্বারা পৃথককৃত কয়েকটি ক্ষেত্রের সংমিশ্রণ হিসাবে দেখায় এবং উপরের এক্সপ্রেশনটির কেবলমাত্র শেষ ক্ষেত্রটি মুদ্রণ করে। সুতরাং আপনি শুধুমাত্র সংস্করণ পেতে। আরও man awkজন্য দেখুন।


কমান্ডটি ভেঙে দিতে এবং প্রতিটি অংশ কী করে তা ব্যাখ্যা করতে পারলে দুর্দান্ত হবে।
জবিন

@ জোবিন প্লিজ আমার সম্পাদনা দেখুন।
সৌরভ

2

আপনি dpkg এবং পাইপিং সহ গ্রেপ ইনস্টল হওয়া প্যাকেজের সংস্করণটি জানতে পারেন

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

এই পাইপযুক্ত কমান্ডগুলির প্রত্যেকটি কী করে, দয়া করে ভারবজ করুন।
জবিন

1
avi @ avi-IdeaPad-Z500: ~ $ ভার্চুয়ালবক্স - সহায়তা box
ওরাকল ভিএম ভার্চুয়ালবক্স ম্যানেজার 4.3.6

সুতরাং নীচের আদেশটি চালান,

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

আউটপুট:

4.3.6

awk '/Oracle/{ print $5 }'

লাইনের সাথে অনুসন্ধান করে যা শব্দটি ধারণ করে Oracle.যি হ্যাঁ তাহলে কমান্ডটি সেই লাইনের পঞ্চম কলামটি ধরে এটি স্ট্যান্ডার্ড আউটপুটে পুনঃনির্দেশ করে। যদি এই জাতীয় কোনও শব্দ কোনও লাইনে উপস্থিত না থাকে, তবে এটি কিছুই প্রদর্শন করে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.