কমান্ড লাইন আর্গুমেন্টস (Command Line Arguments) হলো সেই ইনপুট প্যারামিটার বা আর্গুমেন্ট যা ইউজার বা অ্যাপ্লিকেশন কমান্ড লাইন বা টার্মিনাল থেকে কোনো প্রোগ্রাম চালানোর সময় প্রেরণ করে। এই আর্গুমেন্টস প্রোগ্রামটি কিভাবে চলবে বা কোন কার্যাবলি সম্পাদন করবে তা নির্ধারণ করতে ব্যবহৃত হয়। Java প্রোগ্রামিং ভাষায়, কমান্ড লাইন আর্গুমেন্টস সাধারণত main মেথডের মাধ্যমে গ্রহণ করা হয় এবং এগুলি অ্যাপ্লিকেশন বা স্ক্রিপ্টের ভিতরে বিভিন্ন কার্যক্রমের জন্য ইনপুট হিসেবে ব্যবহৃত হয়।
অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) লাইব্রেরি Java ডেভেলপারদের জন্য কমান্ড লাইন আর্গুমেন্টস হ্যান্ডলিং প্রক্রিয়াকে সহজ ও কার্যকরী করে তোলে। এটি আর্গুমেন্টগুলিকে পার্স, ভ্যালিডেট এবং প্রক্রিয়া করতে সাহায্য করে, যা CLI অ্যাপ্লিকেশন তৈরি করার সময় অত্যন্ত গুরুত্বপূর্ণ।
Command Line Arguments কি?
কমান্ড লাইন আর্গুমেন্টস হলো একটি তালিকা যা কমান্ড লাইন বা টার্মিনাল থেকে একটি প্রোগ্রাম চালানোর সময় আর্গুমেন্টস হিসেবে পাস করা হয়। এই আর্গুমেন্টগুলি প্রোগ্রামের ইনপুট হিসেবে ব্যবহৃত হয়। উদাহরণস্বরূপ:
java MyProgram arg1 arg2 arg3
এখানে arg1, arg2, এবং arg3 হলো কমান্ড লাইন আর্গুমেন্টস। এই আর্গুমেন্টগুলো প্রোগ্রামটি চালানোর সময় প্রোগ্রামে ইনপুট হিসেবে গ্রহণ করা হয়।
কমান্ড লাইন আর্গুমেন্টস এর উদাহরণ:
public class CommandLineExample {
public static void main(String[] args) {
// আর্গুমেন্ট গুলোর প্রিন্ট করা
for (String arg : args) {
System.out.println("Argument: " + arg);
}
}
}
যদি আপনি এই প্রোগ্রামটি কমান্ড লাইনে চালান:
java CommandLineExample Hello World
তাহলে আউটপুট হবে:
Argument: Hello
Argument: World
এখানে, Hello এবং World হল কমান্ড লাইন আর্গুমেন্টস, যা প্রোগ্রামের মাধ্যমে প্রিন্ট করা হয়েছে।
অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) দিয়ে Command Line Arguments কীভাবে কাজ করে?
অ্যাপাচি কমন্স সিআলআই লাইব্রেরি কমান্ড লাইন আর্গুমেন্টস পার্স করার জন্য কিছু শক্তিশালী ফিচার প্রদান করে, যেমন আর্গুমেন্টের ধরন চিহ্নিত করা, হেল্প মেসেজ তৈরি করা, এবং আর্গুমেন্টের ভুল ব্যবহার শনাক্ত করা। নিচে কিছু গুরুত্বপূর্ণ পদক্ষেপ দেওয়া হলো:
১. অ্যাপাচি কমন্স সিআলআই লাইব্রেরি ইনস্টল করা
প্রথমে আপনাকে অ্যাপাচি কমন্স সিআলআই লাইব্রেরিটি আপনার প্রজেক্টে যুক্ত করতে হবে। যদি আপনি Maven ব্যবহার করেন, তাহলে pom.xml ফাইলে এটি যুক্ত করতে হবে:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-cli</artifactId>
<version>1.4</version>
</dependency>
২. কমান্ড লাইন আর্গুমেন্টস পার্স করা
অ্যাপাচি কমন্স সিআলআই ব্যবহার করে আর্গুমেন্টস পার্স করার জন্য Options, Option, এবং CommandLineParser ব্যবহার করতে হবে। নিচে এর একটি উদাহরণ দেওয়া হলো:
import org.apache.commons.cli.*;
public class CommandLineExample {
public static void main(String[] args) {
// অপশন তৈরি করা
Options options = new Options();
options.addOption("u", "user", true, "Username");
options.addOption("p", "password", true, "Password");
// পার্সার তৈরি করা
CommandLineParser parser = new DefaultParser();
CommandLine cmd = null;
try {
// কমান্ড লাইন আর্গুমেন্টস পার্স করা
cmd = parser.parse(options, args);
// আর্গুমেন্টস থেকে ভ্যালু নেয়া
String username = cmd.getOptionValue("u");
String password = cmd.getOptionValue("p");
// আউটপুট
System.out.println("Username: " + username);
System.out.println("Password: " + password);
} catch (ParseException e) {
System.out.println("Parsing failed. Reason: " + e.getMessage());
}
}
}
এখানে, -u এবং -p আর্গুমেন্টস হিসাবে ব্যবহারকারী নাম এবং পাসওয়ার্ড গ্রহণ করা হচ্ছে।
৩. কমান্ড লাইন আর্গুমেন্টস চালানো
যদি আপনি উপরের প্রোগ্রামটি চালান, তাহলে কমান্ড লাইন আর্গুমেন্টস নিচের মত হবে:
java CommandLineExample -u JohnDoe -p secretPassword
এখানে, -u এর পরে ব্যবহারকারী নাম এবং -p এর পরে পাসওয়ার্ড প্রদান করা হয়েছে। প্রোগ্রামটি আর্গুমেন্টগুলো প্রিন্ট করবে।
সারাংশ
কমান্ড লাইন আর্গুমেন্টস হলো সেই ইনপুট প্যারামিটার যেগুলি টার্মিনাল বা কমান্ড লাইন থেকে প্রোগ্রামে পাস করা হয়। অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) লাইব্রেরি Java প্রোগ্রামগুলোর জন্য কমান্ড লাইন আর্গুমেন্টস পরিচালনা সহজ করে তোলে। এটি আর্গুমেন্ট পাস, পার্স এবং ভ্যালিডেট করার জন্য শক্তিশালী ফিচার সরবরাহ করে। এটি ডেভেলপারদের CLI অ্যাপ্লিকেশন তৈরি করার জন্য একটি শক্তিশালী টুলকিট হিসেবে কাজ করে।
Read more