ইউনিক্সঃ সেল বেসিক অপারেটরস (Unix – Shell Basic Operators)

রিদওয়ান বিন শামীম

 

প্রত্যেক সেল সমর্থিত কিছু অপারেটর থাকে। আমরা এখানে ডিফল্ট সেল (Bourne) নিয়ে আলোচনা করব।বর্ন সেলের গুরুত্বপূর্ণ যে অপারেটরগুলো নিয়ে এখানে আলোচনা করা হবেঃ

  • এরিথমেটিক অপারেটর
  • রিলেশনাল অপারেটর
  • বুলিয়েন অপারেটর
  • স্ট্রিং অপারেটর
  • ফাইল টেস্ট অপারেটর

বর্ন সেলের নিজের এরিথমেটিক কাজ সম্পাদনের কৌশল নেই কিন্তু তারা বাইরের প্রোগ্রাম যেমন awk বা expr ব্যবহার করে,

নিচের উদাহরণে দুটি সংখ্যা যোগ করার প্রক্রিয়া দেখানো হল,


#!/bin/sh
 
val=`expr 2 + 2`
echo "Total value : $val"

 

এটি যে ফলাফল দেবে তা হল,


Total value:4


 

 

এখানে কয়েকটি ব্যপার মনে রাখা দরকার,

  • অপারেটর ও এক্সপ্রেশনের মাঝে স্পেস থাকতে হয়,
  • সম্পূর্ণ এক্সপ্রেশন ইনভার্টেড কমা দ্বারা আবদ্ধ করা থাকে

 

এরিথমেটিক অপারেটর

বর্ণ সেল যেসব এরিথমেটিক অপারেটর সমর্থন করে তাদের নিচের ছকে দেয়া হল।

a চলকের মান ১০ ও b চলকের মান ২০ধরে নিচের ছকে আমরা দেখি,

 

অপারেটর উদাহরণ
+ `expr $a + $b` হয় 30
- `expr $a - $b` থেকে পাই -10
* `expr $a \* $b` থেকে পাই 200
/ `expr $b / $a` থেকে পাই 2
% `expr $b % $a` থেকে পাই 0
= a=$b এটি এই বুঝায় যে bএর মান a এর মানের মধ্যে আছে।
== [ $a == $b ] এর রিটার্ন মিথ্যা
!= [ $a != $b ] রিটার্ন সত্য

 

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

[ $a == $b ] সঠিক।

[$a==$b] ভুল।

 

সব এরিথমেটিক হিসাব লম্বা পূর্ণসংখ্যার মাধ্যমে করা হয়।

 

রিলেশনাল অপারেটর

বর্ণ সেল যেসব রিলেশনাল অপারেটর সমর্থন করে তাদের নিচের ছকে দেয়া হল।

অপারেটর উদাহরণ
-eq [ $a -eq $b ] বিবৃতি সত্য নয়
-ne [ $a -ne $b ] বিবৃতি সত্য
-gt [ $a -gt $b ] বিবৃতি সত্য নয়
-lt [ $a -lt $b ] বিবৃতি সত্য
-ge [ $a -ge $b ] বিবৃতি সত্য নয়
-le [ $a -le $b ] বিবৃতি সত্য

 

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

[ $a <= $b ] সঠিক।

[$a <= $b] ভুল।

 

বুলিয়েন অপারেটর

বর্ণ সেল যেসব বুলিয়েন অপারেটর সমর্থন করে তাদের নিচের ছকে দেয়া হল।

a চলকের মান ১০ ও b চলকের মান ২০ধরে নিচের ছকে আমরা দেখি,

 

অপারেটর উদাহরণ
! [ ! false ] বিবৃতি সত্য
-o [ $a -lt 20 -o $b -gt 100 ] বিবৃতি সত্য
-a [ $a -lt 20 -a $b -gt 100 ] বিবৃতি মিথ্যা

 

স্ট্রিং অপারেটর

বর্ণ সেল যেসব স্ট্রিং অপারেটর সমর্থন করে তাদের নিচের ছকে দেয়া হল।

a চলকের মান "abc" ও b চলকের মান "efg"ধরে নিচের ছকে আমরা দেখি,

 

অপারেটর উদাহরণ
= [ $a = $b ] মিথ্যা বিবৃতি
!= [ $a != $b ] সত্য বিবৃতি
-z [ -z $a ] মিথ্যা বিবৃতি
-n [ -z $a ] সত্য বিবৃতি
str [ $a ] সত্য বিবৃতি

 

ফাইল টেস্ট অপারেটর

ইউনিক্স ফাইলের বিভিন্ন প্রপার্টি টেস্টের জন্য যে অপারেটর সেগুলো নিচে দেয়া হয়েছে।

১০০ বাইটের "test" নামের চলক ফাইলের জন্য টেস্ট অপারেটরঃ

 

অপারেটর উদাহরণ
-b file [ -b $file ] বিবৃতি সত্য
-c file [ -c $file ] বিবৃতি সত্য নয়
-d file [ -d $file ] বিবৃতি সত্য নয়
-f file [ -f $file ] বিবৃতি সত্য
-g file [ -g $file ] বিবৃতি সত্য নয়
-k file [ -k $file ] বিবৃতি সত্য নয়
-p file [ -p $file ] বিবৃতি সত্য নয়
-t file [ -t $file ] বিবৃতি সত্য নয়
-u file [ -u $file ] বিবৃতি সত্য নয়
-r file [ -r $file ] বিবৃতি সত্য
-w file [ -w $file ] বিবৃতি সত্য
-x file [ -x $file ] বিবৃতি সত্য
-s file [ -s $file ] বিবৃতি সত্য
-e file [ -e $file ] বিবৃতি সত্য

 

Permanent link to this article: http://bangla.sitestree.com/%e0%a6%87%e0%a6%89%e0%a6%a8%e0%a6%bf%e0%a6%95%e0%a7%8d%e0%a6%b8%e0%a6%83-%e0%a6%b8%e0%a7%87%e0%a6%b2-%e0%a6%85%e0%a6%aa%e0%a6%be%e0%a6%b0%e0%a7%87%e0%a6%9f%e0%a6%b0%e0%a6%b8/

Leave a Reply