কোনও চলকটিতে লিনাক্স কমান্ডের আউটপুট কীভাবে বরাদ্দ করা যায়


আপনি যখন কোনও কমান্ড চালান, এটি কোনও ধরণের আউটপুট তৈরি করে: হয় প্রোগ্রামের ফলাফল হিসাবে মনে হয় প্রোগ্রাম নির্বাহের বিশদটির স্থিতি/ত্রুটি বার্তা তৈরি করা হয়। কখনও কখনও, আপনি কোনও কমান্ডের আউটপুট একটি ভেরিয়েবলের পরে কোনও ক্রিয়াকলাপে ব্যবহার করতে পারেন।

এই পোস্টে, আমরা একটি পরিবর্তনশীলকে শেল কমান্ডের আউটপুট নির্ধারণের বিভিন্ন উপায়গুলি পর্যালোচনা করব, যা শেল স্ক্রিপ্টিং উদ্দেশ্যে বিশেষভাবে কার্যকর।

কোনও ভেরিয়েবলের কমান্ডের আউটপুট সংরক্ষণ করতে, আপনি নীচের ফর্মগুলিতে শেল কমান্ড প্রতিস্থাপন বৈশিষ্ট্যটি ব্যবহার করতে পারেন:

variable_name=$(command)
variable_name=$(command [option ...] arg1 arg2 ...)
OR
variable_name='command'
variable_name='command [option ...] arg1 arg2 ...'

কমান্ড প্রতিস্থাপন ব্যবহার করার কয়েকটি উদাহরণ নীচে দেওয়া হয়েছে।

এই প্রথম উদাহরণে, আমরা কে (যা সিস্টেমে লগড রয়েছে তা দেখায়) > CURRENT_USERS ব্যবহারকারীর কমান্ডটি সংরক্ষণ করব:

$ CURRENT_USERS=$(who)

তারপরে আমরা ইকো কমান্ডটি এভাবে ব্যবহার করে প্রদর্শিত একটি বাক্যে ভেরিয়েবলটি ব্যবহার করতে পারি:

$ echo -e "The following users are logged on the system:\n\n $CURRENT_USERS"

উপরের কমান্ডটিতে: পতাকাটি -e অর্থ যে কোনও অব্যাহতি সিক্যুয়েন্স (যেমন নতুন লাইনের জন্য) ব্যবহৃত হয়েছে তা ব্যাখ্যা করে। মেমোরির পাশাপাশি সময় নষ্ট করা এড়াতে ইকো কমান্ডের মধ্যে নিম্নলিখিত কমান্ডের পরিবর্তে কমান্ড প্রতিস্থাপনটি সম্পাদন করুন:

$ echo -e "The following users are logged on the system:\n\n $(who)"

এর পরে, দ্বিতীয় রূপটি ব্যবহার করে ধারণাটি প্রদর্শনের জন্য; আমরা বর্তমান ওয়ার্কিং ডিরেক্টরিতে ফাইলগুলি নামে একটি ভেরিয়েবলের মোট ফাইলের সংখ্যা সঞ্চয় করতে পারি এবং পরে এটি প্রতিধ্বনিত করতে পারি:

$ FILES=`sudo find . -type f -print | wc -l`
$ echo "There are $FILES in the current working directory."

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