PowerShell এ Operators এবং Expressions দুটি মৌলিক কনসেপ্ট, যা স্ক্রিপ্ট লেখার সময় গণনা, তুলনা এবং অন্যান্য কার্যক্রম পরিচালনা করতে ব্যবহৃত হয়।
- Operators হলো সেই চিহ্ন বা শব্দগুলি, যেগুলোর মাধ্যমে আপনি দুটি বা দুটি বেশি মানের মধ্যে ক্রিয়া সম্পাদন করতে পারেন।
- Expressions হলো কমান্ড বা অংশ যা একটি নির্দিষ্ট মান বা ফলাফল তৈরি করে।
এই দুই কনসেপ্ট একসাথে ব্যবহার করে আপনি কার্যকরী এবং জটিল স্ক্রিপ্ট তৈরি করতে পারেন। নিচে PowerShell এর বিভিন্ন ধরনের operators এবং expressions-এর বিস্তারিত আলোচনা করা হলো।
Operators
PowerShell এ বিভিন্ন ধরনের operators রয়েছে, যেগুলি বিভিন্ন কাজের জন্য ব্যবহার করা হয়, যেমন গণনা (Arithmetic), তুলনা (Comparison), এবং লজিক্যাল অপারেশন (Logical operations)।
1. Arithmetic Operators (গণনা অপারেটর)
গণনা অপারেটরগুলি সংখ্যাগুলির মধ্যে গাণিতিক কার্যক্রম সম্পাদন করতে ব্যবহৃত হয়।
| Operator | Description | Example |
|---|---|---|
+ | যোগ (Addition) | 5 + 3 → 8 |
- | বিয়োগ (Subtraction) | 5 - 3 → 2 |
* | গুণ (Multiplication) | 5 * 3 → 15 |
/ | ভাগ (Division) | 10 / 2 → 5 |
% | ভাগশেষ (Modulo) | 10 % 3 → 1 |
++ | ইনক্রিমেন্ট (Increment) | $x++ → $x এর মান ১ বৃদ্ধি পাবে |
-- | ডিক্রিমেন্ট (Decrement) | $x-- → $x এর মান ১ কমে যাবে |
2. Comparison Operators (তুলনা অপারেটর)
তুলনা অপারেটরগুলি দুটি মানের মধ্যে তুলনা করে এবং একটি বুলিয়ান (True/False) মান প্রদান করে।
| Operator | Description | Example |
|---|---|---|
-eq | সমান (Equal) | 5 -eq 5 → True |
-ne | সমান নয় (Not equal) | 5 -ne 3 → True |
-lt | ছোট (Less Than) | 5 -lt 10 → True |
-le | ছোট বা সমান (Less Than or Equal) | 5 -le 10 → True |
-gt | বড় (Greater Than) | 5 -gt 3 → True |
-ge | বড় বা সমান (Greater Than or Equal) | 5 -ge 3 → True |
-like | মিল (Pattern Match) | 'apple' -like 'a*' → True |
-notlike | মিল নয় (Pattern Mismatch) | 'apple' -notlike 'a*' → False |
-match | রেগুলার এক্সপ্রেশন মিল (Regex Match) | 'apple' -match 'p' → True |
-notmatch | রেগুলার এক্সপ্রেশন মিল নয় (Regex Mismatch) | 'apple' -notmatch 'z' → True |
3. Logical Operators (লজিক্যাল অপারেটর)
লজিক্যাল অপারেটরগুলি বুলিয়ান এক্সপ্রেশনগুলির সাথে কাজ করে।
| Operator | Description | Example |
|---|---|---|
-and | লজিক্যাল AND | $x -eq 5 -and $y -eq 10 → True যদি উভয় শর্তই সঠিক হয় |
-or | লজিক্যাল OR | $x -eq 5 -or $y -eq 10 → True যদি কোন একটি শর্তও সঠিক হয় |
-not | লজিক্যাল NOT | -not ($x -eq 5) → True যদি $x সমান না হয় ৫ এর |
! | নেগেশন (Negation) | !($x -eq 5) → True যদি $x সমান না হয় ৫ এর |
4. Assignment Operators (অ্যাসাইনমেন্ট অপারেটর)
অ্যাসাইনমেন্ট অপারেটরগুলি ভেরিয়েবলকে একটি নতুন মান অ্যাসাইন (অথবা নির্ধারণ) করতে ব্যবহৃত হয়।
| Operator | Description | Example |
|---|---|---|
= | অ্যাসাইন (Assign) | $x = 5 → $x-এর মান ৫ হবে |
+= | যোগ এবং অ্যাসাইন (Add and Assign) | $x += 5 → $x-এর বর্তমান মানে ৫ যোগ হবে |
-= | বিয়োগ এবং অ্যাসাইন (Subtract and Assign) | $x -= 5 → $x-এর বর্তমান মান থেকে ৫ কমবে |
*= | গুণ এবং অ্যাসাইন (Multiply and Assign) | $x *= 5 → $x-এর বর্তমান মান ৫ দিয়ে গুণ হবে |
/= | ভাগ এবং অ্যাসাইন (Divide and Assign) | $x /= 5 → $x-এর বর্তমান মান ৫ দিয়ে ভাগ হবে |
5. Type Conversion Operators (টাইপ কনভার্সন অপারেটর)
PowerShell এর টাইপ কনভার্সন অপারেটরগুলির মাধ্যমে আপনি এক ধরনের ডেটা টাইপকে আরেক টাইপে রূপান্তর করতে পারেন।
| Operator | Description | Example |
|---|---|---|
[int] | পুরো সংখ্যা (Integer) টাইপে কনভার্ট করা | [int] '5' → 5 |
[string] | স্ট্রিং (String) টাইপে কনভার্ট করা | [string] 5 → '5' |
[bool] | বুলিয়ান (Boolean) টাইপে কনভার্ট করা | [bool] 1 → True |
Expressions
Expression হলো একটি কমান্ড বা অংশ যা একটি মান প্রদান করে। এটি অপারেটর এবং ভেরিয়েবলগুলির সমন্বয়ে গঠিত হতে পারে, এবং এর মাধ্যমে আপনি PowerShell এ ক্যালকুলেশন, ডাটা ম্যানিপুলেশন এবং অন্যান্য কার্যক্রম করতে পারেন।
Expressions উদাহরণ:
গণনা এক্সপ্রেশন:
$result = 5 + 3 * 2 Write-Output $result # 11তুলনা এক্সপ্রেশন:
$isEqual = 5 -eq 5 Write-Output $isEqual # Trueলজিক্যাল এক্সপ্রেশন:
$isValid = ($x -eq 5) -and ($y -eq 10) Write-Output $isValid # True (যদি উভয় শর্ত সঠিক হয়)টাইপ কনভার্সন এক্সপ্রেশন:
$stringVal = [string] 123 Write-Output $stringVal # '123'
উপসংহার
PowerShell-এ Operators এবং Expressions অত্যন্ত গুরুত্বপূর্ণ ভূমিকা পালন করে, কারণ এগুলি দিয়ে আপনি সহজেই ডাটা ম্যানিপুলেশন, তুলনা, গণনা এবং লজিক্যাল সিদ্ধান্ত নিতে পারেন। operators দিয়ে আপনি যেকোনো ধরনের গাণিতিক, তুলনামূলক বা লজিক্যাল ক্রিয়া করতে পারেন, এবং expressions-এর মাধ্যমে এই ক্রিয়াগুলি প্রয়োগ করে ফলাফল পেতে পারেন।
PowerShell-এ Arithmetic Operators, Comparison Operators, এবং Logical Operators ব্যবহার করে আপনি বিভিন্ন গণনা, তুলনা এবং শর্তাবলী পরীক্ষা করতে পারেন। এই অপারেটরগুলোর মাধ্যমে আপনি স্ক্রিপ্টে বিভিন্ন কার্য সম্পাদন করতে পারবেন, যেমন সংখ্যা যোগ, বিয়োগ, গুণ, ভাগ, তুলনা, এবং শর্তাবলী যাচাই।
Arithmetic Operators (গণনা অপারেটর)
PowerShell-এ Arithmetic Operators ব্যবহার করে আপনি সাধারণ গণনা করতে পারেন, যেমন যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি।
| অপারেটর | বর্ণনা | উদাহরণ |
|---|---|---|
+ | যোগ | 5 + 3 ফলাফল: 8 |
- | বিয়োগ | 5 - 3 ফলাফল: 2 |
* | গুণ | 5 * 3 ফলাফল: 15 |
/ | ভাগ | 6 / 3 ফলাফল: 2 |
% | মডুলাস (বাকী) | 5 % 3 ফলাফল: 2 |
++ | ইনক্রিমেন্ট | $a++; (একটি মান বৃদ্ধি) |
-- | ডিক্রিমেন্ট | $a--; (একটি মান হ্রাস) |
উদাহরণ:
$a = 5
$b = 3
$c = $a + $b
Write-Host "Result of Addition: $c" # আউটপুট: 8
Comparison Operators (তুলনা অপারেটর)
Comparison Operators ব্যবহৃত হয় দুইটি মানের মধ্যে তুলনা করতে, যেমন সমান কি না, বড় কি না, ইত্যাদি।
| অপারেটর | বর্ণনা | উদাহরণ |
|---|---|---|
-eq | সমান (equal) | $a -eq $b |
-ne | সমান নয় (not equal) | $a -ne $b |
-gt | বড় (greater than) | $a -gt $b |
-lt | ছোট (less than) | $a -lt $b |
-ge | বড় বা সমান (greater than or equal to) | $a -ge $b |
-le | ছোট বা সমান (less than or equal to) | $a -le $b |
উদাহরণ:
$a = 5
$b = 3
if ($a -gt $b) {
Write-Host "$a is greater than $b" # আউটপুট: 5 is greater than 3
}
Logical Operators (লজিক্যাল অপারেটর)
Logical Operators ব্যবহৃত হয় শর্তাবলী একত্রে মূল্যায়ন করতে, যেমন "এবং" বা "অথবা" শর্তাবলী ব্যবহার করা।
| অপারেটর | বর্ণনা | উদাহরণ |
|---|---|---|
-and | "এবং" (logical AND) | $a -gt 3 -and $b -lt 5 |
-or | "অথবা" (logical OR) | $a -gt 3 -or $b -lt 5 |
-not | "নয়" (logical NOT) | -not($a -gt 3) |
উদাহরণ:
$a = 5
$b = 3
if ($a -gt 3 -and $b -lt 5) {
Write-Host "Both conditions are true" # আউটপুট: Both conditions are true
}
সারসংক্ষেপ
PowerShell-এ Arithmetic, Comparison, এবং Logical Operators ব্যবহারের মাধ্যমে আপনি সহজেই গণনা, তুলনা, এবং শর্তাবলী যাচাই করতে পারেন, যা স্ক্রিপ্টিং এবং অটোমেশন কাজগুলোর জন্য অত্যন্ত কার্যকর।
PowerShell-এ String Manipulation এবং String Interpolation হল দুটি গুরুত্বপূর্ণ ধারণা, যা আপনাকে স্ট্রিংগুলির সাথে কাজ করতে সক্ষম করে। স্ট্রিং ম্যানিপুলেশন আপনাকে স্ট্রিং-এর বিভিন্ন অংশ পরিবর্তন, এক্সট্র্যাক্ট, অথবা একত্রিত করতে সহায়তা করে, এবং স্ট্রিং ইন্টারপোলেশন আপনাকে স্ট্রিং-এর মধ্যে ভেরিয়েবল মান সরাসরি অন্তর্ভুক্ত করতে দেয়। নিচে PowerShell-এ স্ট্রিং ম্যানিপুলেশন এবং স্ট্রিং ইন্টারপোলেশন সম্পর্কিত বিস্তারিত আলোচনা করা হলো।
String Manipulation
PowerShell-এ স্ট্রিং ম্যানিপুলেশন দ্বারা আপনি বিভিন্ন স্ট্রিং অপারেশন করতে পারেন, যেমন স্ট্রিং কনক্যাটেনেশন (string concatenation), সাবস্ট্রিং (substring) এক্সট্র্যাকশন, স্ট্রিং প্রতিস্থাপন (replacement), ট্রিমিং, এবং আরও অনেক কিছু।
1. String Concatenation (স্ট্রিং একত্রিত করা)
স্ট্রিং একত্রিত করার জন্য + অপারেটর ব্যবহার করা হয়।
উদাহরণ:
$firstName = "John"
$lastName = "Doe"
$fullName = $firstName + " " + $lastName
Write-Output $fullName
এটি John Doe আউটপুট করবে।
2. Substring Extraction (সাবস্ট্রিং এক্সট্র্যাকশন)
স্ট্রিং থেকে নির্দিষ্ট অংশ (substring) এক্সট্র্যাক্ট করতে Substring() মেথড ব্যবহার করা হয়।
উদাহরণ:
$string = "Hello, PowerShell!"
$subString = $string.Substring(7, 10)
Write-Output $subString
এটি PowerShell আউটপুট করবে, কারণ এটি ৭ নম্বর ইনডেক্স থেকে ১০টি চরিত্র নিয়ে সাবস্ট্রিং এক্সট্র্যাক্ট করছে।
3. Replace (স্ট্রিং প্রতিস্থাপন)
-replace অপারেটর ব্যবহার করে স্ট্রিংয়ের অংশ প্রতিস্থাপন করা যায়।
উদাহরণ:
$string = "Hello, World!"
$newString = $string -replace "World", "PowerShell"
Write-Output $newString
এটি Hello, PowerShell! আউটপুট করবে, কারণ "World" শব্দটি "PowerShell" দিয়ে প্রতিস্থাপন করা হয়েছে।
4. Trimming (ট্রিমিং)
Trim() মেথডটি ব্যবহার করে স্ট্রিংয়ের শুরু এবং শেষ থেকে অতিরিক্ত স্পেস মুছে ফেলা যায়।
উদাহরণ:
$string = " Hello, PowerShell! "
$trimmedString = $string.Trim()
Write-Output $trimmedString
এটি Hello, PowerShell! আউটপুট করবে, যেহেতু স্ট্রিংয়ের অতিরিক্ত স্পেস সরিয়ে ফেলা হয়েছে।
5. Splitting (স্ট্রিং বিভাজন)
Split() মেথডটি ব্যবহার করে একটি স্ট্রিংকে নির্দিষ্ট ডিলিমিটার দ্বারা বিভক্ত করা যায়।
উদাহরণ:
$string = "apple,banana,orange"
$fruits = $string.Split(',')
Write-Output $fruits
এটি apple, banana, এবং orange আউটপুট করবে, যেহেতু স্ট্রিংটি কমা দিয়ে বিভক্ত করা হয়েছে।
String Interpolation
PowerShell-এ String Interpolation হল একটি পদ্ধতি যার মাধ্যমে আপনি সরাসরি স্ট্রিংয়ের মধ্যে ভেরিয়েবল বা এক্সপ্রেশন যোগ করতে পারেন। এটি স্ট্রিং বানানোর একটি সহজ এবং পরিষ্কার উপায়, যেখানে আপনাকে ভেরিয়েবলের মান স্ট্রিংয়ে একত্রিত করতে অতিরিক্ত কনক্যাটেনেশন করতে হয় না।
1. Basic String Interpolation (মৌলিক স্ট্রিং ইন্টারপোলেশন)
PowerShell-এ স্ট্রিং ইন্টারপোলেশন করতে $() সাইন ব্যবহার করা হয়। এতে ভেরিয়েবলের মান সরাসরি স্ট্রিংয়ের মধ্যে ইনসার্ট করা হয়।
উদাহরণ:
$name = "John"
$age = 25
$sentence = "My name is $name and I am $age years old."
Write-Output $sentence
এটি My name is John and I am 25 years old. আউটপুট করবে।
2. Expression Interpolation (এক্সপ্রেশন ইন্টারপোলেশন)
PowerShell-এ স্ট্রিং ইন্টারপোলেশনের মধ্যে এক্সপ্রেশন ব্যবহার করা সম্ভব। এক্সপ্রেশন লিখতে $() ব্যবহার করা হয়।
উদাহরণ:
$price = 10
$tax = 2
$totalPrice = "Total price with tax is $($price + $tax)"
Write-Output $totalPrice
এটি Total price with tax is 12 আউটপুট করবে, যেহেতু এখানে এক্সপ্রেশন $price + $tax ইন্টারপোলেট করা হয়েছে।
3. Escaping Special Characters (বিশেষ ক্যারেক্টার এস্কেপ করা)
PowerShell-এ ইন্টারপোলেশন ব্যবহারের সময় যদি আপনি $ চিহ্নের পরে কোনো ভেরিয়েবল না চান, তবে একটি ব্যাকটিক (\) ব্যবহার করে ইন্টারপোলেশন বন্ধ করা যায়।
উদাহরণ:
$price = 10
$sentence = "The cost is `$price, which is the base price."
Write-Output $sentence
এটি The cost is $10, which is the base price. আউটপুট করবে, যেখানে $price ইন্টারপোলেট হওয়ার বদলে $price হিসেবেই থাকবে।
4. Multiline String Interpolation (মাল্টিলাইন স্ট্রিং ইন্টারপোলেশন)
PowerShell-এ মাল্টিলাইন স্ট্রিং ইন্টারপোলেশন করতে আপনি ডাবল কোটসের মধ্যে স্ট্রিং লিখতে পারেন। এতে আপনার ভেরিয়েবল বা এক্সপ্রেশন স্ট্রিংয়ের মধ্যে যথাযথভাবে ইনসার্ট হবে।
উদাহরণ:
$name = "Alice"
$greeting = @"
Hello $name,
Welcome to PowerShell scripting.
Enjoy your learning journey!
"@
Write-Output $greeting
এটি আউটপুট করবে:
Hello Alice,
Welcome to PowerShell scripting.
Enjoy your learning journey!
সারসংক্ষেপ
PowerShell-এ String Manipulation এবং String Interpolation আপনাকে স্ট্রিংয়ের সাথে কাজ করার অনেক সহজ পদ্ধতি প্রদান করে। String Manipulation এর মাধ্যমে আপনি স্ট্রিংয়ের কনক্যাটেনেশন, সাবস্ট্রিং এক্সট্র্যাকশন, প্রতিস্থাপন, এবং ট্রিমিং করতে পারেন। অন্যদিকে, String Interpolation আপনাকে স্ট্রিংয়ের মধ্যে ভেরিয়েবল এবং এক্সপ্রেশন সরাসরি অন্তর্ভুক্ত করার সুবিধা দেয়, যা কোড লেখার সময় আরও সহজ এবং পাঠযোগ্য করে তোলে।
PowerShell-এ Arrays এবং Collections হলো দুটি গুরুত্বপূর্ণ ডাটা স্ট্রাকচার, যেগুলি একাধিক মান বা উপাদানকে সংরক্ষণ করতে ব্যবহৃত হয়। Arrays একটি নির্দিষ্ট আকারের ডাটা স্ট্রাকচার হলেও, Collections আরও ডাইনামিক এবং কার্যকরী। নিচে Arrays এবং Collections নিয়ে কাজ করার জন্য প্রয়োজনীয় তথ্য এবং উদাহরণ দেওয়া হলো।
Arrays
Array হলো একটি ডাটা স্ট্রাকচার, যা একই ধরনের একাধিক মান (value) একটি সিঙ্গেল ভেরিয়েবলে ধারণ করে। PowerShell-এ Array ব্যবহার করা হয় একাধিক উপাদান সংরক্ষণ করার জন্য।
Array তৈরি এবং ব্যবহার:
Array তৈরি করা: আপনি নিম্নলিখিতভাবে একটি array তৈরি করতে পারেন:
$myArray = @(1, 2, 3, 4, 5)Array তে উপাদান অ্যাক্সেস করা: একটি নির্দিষ্ট উপাদান অ্যাক্সেস করতে, array-এর ইন্ডেক্স ব্যবহার করতে হবে। PowerShell-এ array এর ইনডেক্স 0 থেকে শুরু হয়।
$myArray[0] # এটি array এর প্রথম উপাদান 1 রিটার্ন করবে।Array তে নতুন উপাদান যোগ করা: একটি array তে নতুন উপাদান যোগ করতে, নিচের কোড ব্যবহার করা হয়:
$myArray += 6 # নতুন উপাদান যোগ করাArray এর সমস্ত উপাদান দেখতে: array এর সমস্ত উপাদান দেখতে আপনি array ভেরিয়েবলটি সরাসরি ব্যবহার করতে পারেন:
$myArrayArray এর আকার (Length) জানানো: Array এর আকার বা উপাদানের সংখ্যা জানতে:
$myArray.LengthArray এর উপাদান পরিবর্তন করা: নির্দিষ্ট ইনডেক্সে উপাদান পরিবর্তন করা:
$myArray[1] = 10 # 2 কে 10 এ পরিবর্তন করা হবে
Array এর সুবিধা:
- সার্বজনীন: Arrays PowerShell-এ সাধারণত বেশিরভাগ কাজের জন্য উপযুক্ত, যেখানে আকার স্থির থাকে এবং একাধিক মান সংরক্ষণ করতে হয়।
- ফাস্ট অ্যাক্সেস: ইনডেক্সের মাধ্যমে দ্রুত উপাদান অ্যাক্সেস করা যায়।
Collections
Collections হল ডাইনামিক ডাটা স্ট্রাকচার যা একটি Array এর তুলনায় আরও বেশি বৈশিষ্ট্য প্রদান করে। PowerShell-এ Collections সাধারণত .NET ক্লাস ব্যবহার করে তৈরি করা হয়, যেগুলি কিছু নির্দিষ্ট অপারেশন যেমন ইনসার্ট, রিমুভ, এবং সোর্টিং সহজতর করে।
PowerShell এ Collections তৈরি এবং ব্যবহার:
PowerShell-এ Collections ব্যবহারের জন্য ArrayList, Hashtable, Dictionary এবং Queue প্রভৃতি ব্যবহার করা হয়। এখানে ArrayList এবং Hashtable সম্পর্কে বিস্তারিত আলোচনা করা হলো।
ArrayList
ArrayList হল একটি ডাইনামিক অ্যারে যা প্রয়োজন অনুযায়ী নিজের আকার পরিবর্তন করতে পারে। এটি Array এর তুলনায় আরও ফ্লেক্সিবল, কারণ এটি উপাদান অ্যাড/রিমুভ করার সময় আকার পরিবর্তন করতে পারে।
ArrayList তৈরি এবং ব্যবহার:
ArrayList তৈরি করা:
$myArrayList = New-Object System.Collections.ArrayListArrayList তে উপাদান যোগ করা: ArrayList-এ নতুন উপাদান যোগ করতে:
$myArrayList.Add(1) $myArrayList.Add(2) $myArrayList.Add(3)ArrayList থেকে উপাদান অ্যাক্সেস করা: উপাদান অ্যাক্সেস করতে:
$myArrayList[0] # এটি 1 রিটার্ন করবেArrayList থেকে উপাদান মুছে ফেলা: নির্দিষ্ট উপাদান মুছে ফেলার জন্য:
$myArrayList.Remove(2) # এটি 2 উপাদানটি মুছে ফেলবেArrayList এর আকার (Count) দেখানো:
$myArrayList.Count
ArrayList এর সুবিধা:
- ডাইনামিক আকার: এটি নতুন উপাদান যুক্ত করার সময় আকার পরিবর্তন করতে সক্ষম।
- ফ্লেক্সিবল: উপাদান ইনসার্ট, রিমুভ করা খুব সহজ এবং দ্রুত।
Hashtable
Hashtable হলো একটি ডাটা স্ট্রাকচার যা কীগুলির সাথে মান (key-value pairs) সংরক্ষণ করে। এটি সবচেয়ে উপকারী যখন আপনি এমন একটি ডাটা স্ট্রাকচার চান যা নির্দিষ্ট কীগুলির সাথে সম্পর্কিত মান সংরক্ষণ করতে পারে।
Hashtable তৈরি এবং ব্যবহার:
Hashtable তৈরি করা:
$myHashtable = @{}Hashtable তে উপাদান যোগ করা:
$myHashtable["Name"] = "John" $myHashtable["Age"] = 30Hashtable থেকে মান অ্যাক্সেস করা:
$myHashtable["Name"] # এটি "John" রিটার্ন করবেHashtable থেকে উপাদান মুছে ফেলা:
$myHashtable.Remove("Age") # এটি "Age" কী এবং এর মান মুছে ফেলবেHashtable এর সমস্ত উপাদান দেখতে:
$myHashtable
Hashtable এর সুবিধা:
- কী-ভ্যালু পেয়ার: আপনি খুব সহজেই কীগুলির সাথে মান সংরক্ষণ এবং অ্যাক্সেস করতে পারেন।
- ফাস্ট অনুসন্ধান: কী ব্যবহার করে দ্রুত মান খুঁজে বের করা সম্ভব।
Conclusion
PowerShell-এ Arrays এবং Collections ব্যবহারের মাধ্যমে আপনি ডাটা সংরক্ষণ এবং পরিচালনা করতে পারেন। Arrays সাধারণত সুনির্দিষ্ট আকারের জন্য ব্যবহৃত হয়, যখন Collections আরও ডাইনামিক এবং শক্তিশালী। ArrayList এবং Hashtable এর মতো Collection ব্যবহার করে আপনি বড় ডাটা সেটের সাথে আরও কার্যকরভাবে কাজ করতে পারবেন। PowerShell-এ এসব ডাটা স্ট্রাকচার ব্যবহারের মাধ্যমে স্ক্রিপ্টিংয়ের ক্ষমতা বৃদ্ধি পায় এবং আপনি আরও প্রাঞ্জলভাবে ডাটা পরিচালনা করতে পারেন।
PowerShell-এ Objects একটি গুরুত্বপূর্ণ অংশ, কারণ এটি আপনাকে ডাটা পরিচালনা এবং সিস্টেমের বিভিন্ন উপাদানের সাথে ইন্টারঅ্যাক্ট করতে সহায়তা করে। যখন আপনি PowerShell এ কোনো কমান্ড চালান, তখন আপনি সাধারণত একটি Object ফেরত পান, যা একটি নির্দিষ্ট ধরনের ডাটা ধারণ করে এবং সেই ডাটার Properties এবং Methods থাকে। এই Properties এবং Methods গুলি ব্যবহার করে আপনি Object এর উপর বিভিন্ন কার্যকলাপ সম্পাদন করতে পারেন।
Object Properties
Properties হলো একটি Object এর বিভিন্ন বৈশিষ্ট্য, যা সেই Object সম্পর্কে বিস্তারিত তথ্য ধারণ করে। প্রতিটি Object-এর বিভিন্ন ধরনের Properties থাকতে পারে, যেমন একটি ফাইলের জন্য তার নাম, আকার, তৈরির তারিখ ইত্যাদি।
Properties দেখার জন্য:
PowerShell-এ একটি Object-এর সকল Properties দেখতে, আপনি Get-Member কমান্ড ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি আপনি Get-Process কমান্ড দিয়ে কোন প্রক্রিয়া (process) সম্পর্কে তথ্য দেখতে চান:
Get-Process | Get-Member -MemberType Property
এটি Get-Process কমান্ডের মাধ্যমে ফিরে আসা Object এর সকল Properties দেখাবে।
Property Access:
Object এর কোনো নির্দিষ্ট Property অ্যাক্সেস করতে আপনি পিরিয়ড (.) চিহ্ন ব্যবহার করতে পারেন। যেমন:
$process = Get-Process -Name "notepad"
$process.Name # Notepad প্রোগ্রামের নাম দেখাবে
$process.Id # Process ID দেখাবে
$process.WorkingSet # মেমরি ব্যবহারের তথ্য দেখাবে
এখানে, $process একটি Process Object, এবং .Name, .Id, .WorkingSet হলো এর Properties।
উদাহরণ:
$service = Get-Service -Name "wuauserv"
$service.Status # Service-এর বর্তমান স্ট্যাটাস দেখাবে
$service.DisplayName # Service-এর প্রদর্শন নাম দেখাবে
এখানে $service হল একটি Service Object এবং Status, DisplayName তার Properties।
Object Methods
Methods হলো Object-এর দ্বারা সঞ্চালিত ক্রিয়াকলাপ বা কার্যাবলী। এটি মূলত একটি ফাংশন, যা Object এর উপর কিছু অ্যাকশন বা অপারেশন করে।
Methods দেখার জন্য:
Object এর সমস্ত Methods দেখতে, আপনি Get-Member কমান্ড ব্যবহার করতে পারেন, তবে -MemberType Method দিয়ে আপনি শুধু Methods দেখতে পাবেন:
$process = Get-Process -Name "notepad"
$process | Get-Member -MemberType Method
এটি Get-Process কমান্ডের মাধ্যমে ফিরে আসা Process Object এর সমস্ত Methods দেখাবে।
Method Call:
একটি Object-এর Method কল করতে, আপনি পিরিয়ড (.) চিহ্ন ব্যবহার করবেন, এর পরে Method এর নাম এবং প্রয়োজনীয় প্যারামিটারগুলো (যদি থাকে) উল্লেখ করবেন। যেমন:
$process = Get-Process -Name "notepad"
$process.Kill() # Notepad প্রোগ্রামটি বন্ধ করতে Kill() method ব্যবহার করা হবে
এখানে, $process একটি Process Object এবং Kill() হলো একটি Method যা এই Process কে বন্ধ (terminate) করতে ব্যবহৃত হয়।
উদাহরণ:
$directory = Get-Item "C:\Users"
$directory = $directory.CreateSubdirectory("NewFolder") # একটি নতুন সাবডিরেক্টরি তৈরি করা
এখানে, $directory একটি DirectoryInfo Object এবং CreateSubdirectory() হলো একটি Method যা একটি নতুন সাবডিরেক্টরি তৈরি করে।
Object Properties এবং Methods ব্যবহার করার কিছু উদাহরণ
1. File Object এর Properties এবং Methods ব্যবহার করা:
$file = Get-Item "C:\example.txt"
$file.Name # ফাইলের নাম দেখাবে
$file.Extension # ফাইলের এক্সটেনশন দেখাবে
$file.Length # ফাইলের আকার (বাইটে) দেখাবে
$file.CreationTime # ফাইল তৈরির সময় দেখাবে
# ফাইলের অ্যাট্রিবিউট পরিবর্তন
$file.Attributes = 'ReadOnly'
# ফাইল মুছে ফেলতে
$file.Remove()
এখানে, $file একটি FileInfo Object, এবং .Name, .Length, .CreationTime হল তার Properties। .Remove() হলো একটি Method যা ফাইল মুছে ফেলতে ব্যবহৃত হয়।
2. DateTime Object এর Properties এবং Methods ব্যবহার করা:
$date = Get-Date
$date.Day # বর্তমান দিনের তারিখ দেখাবে
$date.Month # মাস দেখাবে
$date.Year # বছর দেখাবে
# দিন, মাস এবং বছর যোগ করার জন্য AddDays(), AddMonths(), AddYears() Methods ব্যবহার করা:
$newDate = $date.AddDays(5) # বর্তমান তারিখের সাথে ৫ দিন যোগ করা
$newDate
এখানে, $date একটি DateTime Object, এবং AddDays() হলো একটি Method যা নির্দিষ্ট সংখ্যক দিন বর্তমান তারিখে যোগ করে।
3. String Object এর Methods ব্যবহার করা:
$string = "PowerShell Scripting"
$string.Length # স্ট্রিংয়ের দৈর্ঘ্য দেখাবে
$string.ToUpper() # স্ট্রিংয়ের সব অক্ষর বড় হাতের করবে
$string.Substring(0, 10) # স্ট্রিংয়ের প্রথম ১০ অক্ষর কেটে নেবে
এখানে, $string একটি String Object, এবং ToUpper() ও Substring() হলো Methods যা স্ট্রিং পরিবর্তন বা নির্দিষ্ট অংশ বের করতে ব্যবহৃত হয়।
Summary
PowerShell-এ Object Properties এবং Methods আপনাকে বিভিন্ন ধরনের ডাটা পরিচালনা এবং কার্যকর করার জন্য এক্সটেনসিভ ক্ষমতা প্রদান করে। Properties আপনাকে Object-এর গুণাবলী জানাতে সাহায্য করে, এবং Methods আপনাকে সেই Object এর উপর অপারেশন চালানোর সুযোগ দেয়। Properties এবং Methods ব্যবহার করার মাধ্যমে আপনি আপনার PowerShell স্ক্রিপ্ট আরও কার্যকর এবং উৎপাদনশীল করতে পারবেন।
Read more