BASH কমান্ড আউটপুট ভেরিয়েবলে

Bash Command Output Variable



ব্যবহারকারীর প্রয়োজনীয়তার ভিত্তিতে টার্মিনাল থেকে বিভিন্ন ধরণের ব্যাশ কমান্ড চালানো দরকার। যখন ব্যবহারকারী টার্মিনাল থেকে কোন কমান্ড চালায় তখন এটি ত্রুটি না থাকলে আউটপুট দেখায় অন্যথায় এটি ত্রুটি বার্তা দেখায়। কখনও কখনও, কমান্ডের আউটপুট ভবিষ্যতে ব্যবহারের জন্য একটি পরিবর্তনশীল সংরক্ষণ করা প্রয়োজন। ব্যাশের শেল কমান্ড প্রতিস্থাপন বৈশিষ্ট্যটি এই উদ্দেশ্যে ব্যবহার করা যেতে পারে। আপনি এই বৈশিষ্ট্যটি ব্যবহার করে ভেরিয়েবলে বিভিন্ন ধরনের শেল কমান্ড কিভাবে সংরক্ষণ করতে পারেন তা এই টিউটোরিয়ালে দেখানো হয়েছে।

পরিবর্তনশীল= $(কমান্ড)
পরিবর্তনশীল= $(কমান্ড [বিকল্প…]যুক্তি 1 যুক্তি 2 ...)
পরিবর্তনশীল= $(/পথ/প্রতি/কমান্ড)

অথবা







পরিবর্তনশীল='কমান্ড'
পরিবর্তনশীল='কমান্ড [বিকল্প…]যুক্তি 1 যুক্তি 2 ...'
পরিবর্তনশীল=`/পথ/প্রতি/কমান্ড'

*** দ্রষ্টব্য: উপরের কমান্ডগুলি ব্যবহার করার সময় সমান চিহ্নের আগে এবং পরে কোনও স্থান ব্যবহার করবেন না।



একটি ভেরিয়েবলে একক কমান্ড আউটপুট

বাশ কমান্ডগুলি সেই কমান্ডগুলির জন্য কোনও বিকল্প এবং যুক্তি ছাড়াই ব্যবহার করা যেতে পারে যেখানে এই অংশগুলি চ্ছিক। নিম্নলিখিত দুটি উদাহরণ সাধারণ কমান্ড প্রতিস্থাপনের ব্যবহার দেখায়।



উদাহরণ#1:

bash ` তারিখ` বর্তমান তারিখ এবং সময় দেখানোর জন্য কমান্ড ব্যবহার করা হয়। নিম্নলিখিত স্ক্রিপ্ট `এর আউটপুট সংরক্ষণ করবে তারিখ` $ এ কমান্ড করুন বর্তমান তারিখ কমান্ড প্রতিস্থাপন ব্যবহার করে পরিবর্তনশীল।





$বর্তমান তারিখ= $(তারিখ)
$বের করে দিল 'আজকে$ current_date'

আউটপুট:



উদাহরণ#2:

`pwd` কমান্ড বর্তমান কর্মপরিচালনার পথ দেখায়। নিম্নলিখিত স্ক্রিপ্ট আউটপুট সঞ্চয় করে `pwd` ভেরিয়েবলের মধ্যে কমান্ড, $ current_dir এবং এই ভেরিয়েবলের মান ব্যবহার করে মুদ্রিত হয় `প্রতিধ্বনি` কমান্ড

$current_dir='পিডব্লিউডি'
$বের করে দিল 'বর্তমান ডিরেক্টরি হল:$ current_dir'

আউটপুট:

বিকল্প এবং যুক্তি সহ কমান্ড

কিছু বাশ কমান্ডের জন্য বিকল্প এবং যুক্তি বাধ্যতামূলক। নিম্নলিখিত উদাহরণগুলি দেখায় যে আপনি কীভাবে বিকল্প এবং যুক্তি দিয়ে কমান্ডের আউটপুট একটি ভেরিয়েবলে সংরক্ষণ করতে পারেন।

উদাহরণ#3:

বাশ ` wc যে কোন ফাইলের মোট লাইন, শব্দ এবং অক্ষর গণনা করার জন্য কমান্ড ব্যবহার করা হয়। এই কমান্ডটি ব্যবহার করে -c, -w এবং -l বিকল্প হিসেবে এবং ফাইলের নামটি আউটপুট উৎপন্ন করার যুক্তি হিসেবে। নামে একটি টেক্সট ফাইল তৈরি করুন ফল। txt পরবর্তী স্ক্রিপ্ট পরীক্ষা করার জন্য নিম্নলিখিত ডেটা সহ।
ফল। txt

ফল। txt
আম
কমলা
কলা
আঙ্গুর
পেয়ারা
আপেল

মোট শব্দ সংখ্যা গণনা এবং সঞ্চয় করতে নিম্নলিখিত কমান্ডগুলি চালান ফল। txt একটি পরিবর্তনশীল মধ্যে ফাইল, $ count_words এবং `ব্যবহার করে মান মুদ্রণ করুন প্রতিধ্বনি` কমান্ড

$count_words='wc -ভিতরেফল। txt'
$বের করে দিল 'Fruit.txt- এ মোট শব্দ$ count_words'

আউটপুট:

উদাহরণ#4:

`কাটা` আরেকটি bash কমান্ড যা আউটপুট উৎপন্ন করার জন্য বিকল্প এবং যুক্তি ব্যবহার করে। নামে একটি টেক্সট ফাইল তৈরি করুন সপ্তাহের দিন। txt পরবর্তী স্ক্রিপ্ট চালানোর জন্য সাত সপ্তাহের দিনের নাম সহ।

সপ্তাহের দিন। txt

সোমবার
মঙ্গলবার
বুধবার
বৃহস্পতিবার
শুক্রবার
শনিবার
রবিবার

নামে একটি ব্যাশ ফাইল তৈরি করুন cmdsub1.sh নিম্নলিখিত স্ক্রিপ্ট সহ। এই স্ক্রিপ্টে, যখন এর বিষয়বস্তু পড়ার জন্য লুপ ব্যবহার করা হয় সপ্তাহের দিন। txt লাইন দ্বারা লাইন ফাইল করুন এবং `ব্যবহার করে প্রতিটি লাইনের প্রথম তিনটি অক্ষর পড়ুন কাটা` কমান্ড কাটার পরে, স্ট্রিং মানটি ভেরিয়েবলে সংরক্ষণ করা হয় $ দিন । পরবর্তী, যদি বিবৃতিটির মান পরীক্ষা করতে ব্যবহৃত হয় $ দিন হল ' সূর্য ' অথবা না. আউটপুট প্রিন্ট করবে ' রবিবার ছুটি 'যখন শর্তটি সত্য হয় অন্যথায় এটি এর মান মুদ্রণ করবে $ দিন

cmdsub1.sh

#!/বিন/ব্যাশ
ফাইলের নাম='সপ্তাহের দিন। txt'
যখন পড়ুনলাইন;কর
দিন='বের করে দিল $ লাইন | কাটা -সি -3'
যদি [ $ দিন=='সূর্য' ]
তারপর
বের করে দিল 'রবিবার হল ছুটি'
অন্য
বের করে দিল $ দিন
থাকা
সম্পন্ন<$ filename

স্ক্রিপ্ট চালান।

$বিড়ালসপ্তাহের দিন। txt
$বাশcmdsub1.sh

আউটপুট:

লুপে কমান্ড প্রতিস্থাপন ব্যবহার করে

আপনি কমান্ড প্রতিস্থাপনের আউটপুটটি যে কোনও লুপ ভেরিয়েবলে সংরক্ষণ করতে পারেন যা পরবর্তী উদাহরণে দেখানো হয়েছে।

উদাহরণ#5:

নামে একটি ফাইল তৈরি করুন cmdsub2.sh নিম্নলিখিত কোড সহ। এখানে, ` ls -d * / `কমান্ডটি বর্তমান ডিরেক্টরি থেকে সমস্ত ডিরেক্টরি তালিকা পুনরুদ্ধার করতে ব্যবহৃত হয়। আউটপুট থেকে প্রতিটি ডিরেক্টরি পড়তে এবং ভেরিয়েবলে সংরক্ষণ করার জন্য এখানে লুপ ব্যবহার করা হয় $ dirname যা পরে ছাপা হয়।

cmdsub2.sh

#!/বিন/ব্যাশ
জন্য dirname ভিতরে$(ls -ডি * /)
কর
বের করে দিল '$ dirname'
সম্পন্ন

স্ক্রিপ্ট চালান।

$বাশcmdsub2.sh

আউটপুট:

নেস্টেড কমান্ড ব্যবহার করে

কিভাবে আপনি পাইপ (|) ব্যবহার করে একাধিক কমান্ড ব্যবহার করতে পারেন তা আগের উদাহরণে দেখানো হয়েছে। কিন্তু আপনি কমান্ড প্রতিস্থাপনে নেস্টেড কমান্ড ব্যবহার করতে পারেন যেখানে প্রথম কমান্ডের আউটপুট দ্বিতীয় কমান্ডের আউটপুট নির্ভর করে এবং এটি পাইপ (|) কমান্ডের বিপরীতে কাজ করে।

নেস্টেড কমান্ড সিনট্যাক্স:

কোথায়='কমান্ড 1'কমান্ড'

উদাহরণ#6:

দুটি কমান্ড, ` বের করে দিল `এবং` WHO `এই উদাহরণে নেস্টেড কমান্ড হিসাবে ব্যবহার করা হয়। এখানে, ` WHO `কমান্ড প্রথমে কার্যকর করবে যা বর্তমানে লগ ইন করা ব্যবহারকারীর তথ্য মুদ্রণ করে। `এর আউটপুট WHO `দ্বারা কমান্ড কার্যকর করা হবে বের করে দিল `কমান্ড এবং` এর আউটপুট বের করে দিল `ভেরিয়েবলে সংরক্ষণ করা হবে $ var । এখানে, `এর আউটপুট বের করে দিল `কমান্ড` এর আউটপুটের উপর নির্ভর করে WHO `কমান্ড।

$কোথায়='বের করে দিল'WHO'
$বের করে দিল $ var

আউটপুট:

কমান্ড পাথ ব্যবহার করে

যদি আপনি কমান্ডের পথ জানেন তবে কমান্ড প্রতিস্থাপন ব্যবহার করার সময় আপনি কমান্ড পাথ উল্লেখ করে কমান্ডটি চালাতে পারেন। নিম্নলিখিত উদাহরণটি কমান্ড পাথের ব্যবহার দেখায়।

উদাহরণ#7:

`whoami` কমান্ড বর্তমানে লগ ইন করা ব্যবহারকারীর ব্যবহারকারীর নাম দেখায়। ডিফল্টরূপে, এই কমান্ডটি সংরক্ষণ করা হয় / ইউএসআর/ আমি/ ফোল্ডার চালানোর জন্য নিম্নলিখিত স্ক্রিপ্টটি চালান whoami` ভেরিয়েবলে পাথ এবং স্টোর ব্যবহার করে কমান্ড, $ আউটপুট, এবং এর মান মুদ্রণ করুন $ আউটপুট

$আউটপুট= $(/ইউএসআর/আমি/আমি কে)
$বের করে দিল $ আউটপুট

আউটপুট:

কমান্ড লাইন যুক্তি ব্যবহার করে

আপনি কমান্ড প্রতিস্থাপনের যুক্তি হিসাবে কমান্ডের সাথে কমান্ড লাইন যুক্তি ব্যবহার করতে পারেন।

উদাহরণ#8:

নামে একটি ব্যাশ ফাইল তৈরি করুন cmdsub3.sh নিম্নলিখিত স্ক্রিপ্ট সহ। ` বেসনেম `কমান্ড এখানে 2 থেকে ফাইলের নাম পুনরুদ্ধার করতে ব্যবহৃত হয়ndকমান্ড লাইন যুক্তি এবং ভেরিয়েবলে সংরক্ষিত, $ filename । আমরা 1 জানিসেন্টকমান্ড লাইন আর্গুমেন্ট হল এক্সিকিউটিং স্ক্রিপ্টের নাম যা $ 0 দ্বারা চিহ্নিত করা হয়।

#!/বিন/ব্যাশ
ফাইলের নাম='বেসনেম $ 1'
বের করে দিল 'ফাইলের নাম$ filename। '

নিম্নলিখিত যুক্তি মান দিয়ে স্ক্রিপ্ট চালান।

$বাশcmdsub3.sh ডেস্কটপ/তাপমাত্রা/hello.txt

এখানে, বেসনেম পথের, ডেস্কটপ/temp/hello.txt হল ' hello.txt ’। সুতরাং, এর মান $ filename হবে hello.txt

আউটপুট:

উপসংহার:

কমান্ড প্রতিস্থাপনের বিভিন্ন ব্যবহার এই টিউটোরিয়ালে দেখানো হয়েছে। যদি আপনাকে একাধিক কমান্ড বা নির্ভরশীল কমান্ডের সাথে কাজ করতে হয় এবং ফলাফলটি সাময়িকভাবে কিছু অন্যান্য কাজ করার জন্য সঞ্চয় করতে হয় তাহলে আউটপুট পেতে আপনি আপনার স্ক্রিপ্টে এই বৈশিষ্ট্যটি ব্যবহার করতে পারেন।

ভিডিওতে আরো তথ্য: