কম্পিউটার

শেল স্ক্রিপ্টিং-এ বেসিক অপারেটর


শেল একটি ইন্টারফেস যা ব্যবহার করে প্রোগ্রামার কমান্ড চালাতে পারে এবং অপারেটিং সিস্টেমের সাথে সরাসরি যোগাযোগ করতে পারে। শেল স্ক্রিপ্টিং একটি শেল কার্যকর করতে পারে এমন কমান্ড দিচ্ছে।

শেলের মধ্যেও ভেরিয়েবল এবং অপারেটর রয়েছে যা এই ভেরিয়েবলগুলিকে ম্যানিপুলেট করতে ব্যবহৃত হয়। শেল স্ক্রিপ্টিং-এ 5টি মৌলিক অপারেটর রয়েছে৷

  • পাটিগণিত অপারেটর
  • রিলেশনাল অপারেটর
  • বুলিয়ান অপারেটর
  • বিটওয়াইজ অপারেটর
  • ফাইল টেস্ট অপারেটর

পাটিগণিত অপারেটর

শেল স্ক্রিপ্টিং-এ গাণিতিক অপারেটরগুলি সাধারণ গাণিতিক/গাণিতিক ক্রিয়াকলাপ সম্পাদন করতে ব্যবহৃত হয়। শেল স্ক্রিপ্টিং -

-এ 7টি বৈধ গাণিতিক অপারেটর রয়েছে
  • সংযোজন (+) দুটি অপারেন্ড (ভেরিয়েবল) যোগ করতে ব্যবহৃত হয়।

  • বিয়োগ (-) শেল স্ক্রিপ্টিং-এ দুটি ভেরিয়েবল (অপারেন্ড) বিয়োগ করতে ব্যবহৃত হয়।

  • গুণ (*) শেল স্ক্রিপ্টিং-এ দুটি ভেরিয়েবল (অপারেন্ড) গুন করতে ব্যবহৃত হয়।

  • বিভাগ (/) শেল স্ক্রিপ্টিং-এ দুটি ভেরিয়েবল (অপারেন্ড) ভাগ করতে ব্যবহৃত হয়।

  • মডুলাস (%) শেল স্ক্রিপ্টিং-এ অপারেন্ডের বিভাজনের অবশিষ্টাংশ খুঁজে বের করতে ব্যবহৃত হয়।

  • ইনক্রিমেন্ট অপারেটর (++) অপারেটরের বর্তমান মানের সাথে একটি যোগ করতে ব্যবহৃত হয়।

  • ডিক্রিমেন্ট অপারেটর (--) অপারেটরের বর্তমান মান থেকে একটি বিয়োগ করতে ব্যবহৃত হয়।

উদাহরণ

শেল স্ক্রিপ্টিং -

-এ গাণিতিক অপারেটরের বাস্তবায়ন দেখানোর জন্য
a =32b =23 যোগ =$((a + b)) a এবং b এর echo যোগফল হল $add sub =$((a - b)) a এবং b এর প্রতিধ্বনি বিয়োগ হল $sub mul =$( (a * b)) a এবং b এর প্রতিধ্বনি গুণফল হল $mul div =$((a / b)) a এবং b এর প্রতিধ্বনি বিভাজন হল $divmod =$((a % b)) a কে ভাগ করা হলে প্রতিধ্বনি অবশিষ্ট থাকে $mod((++a)) ইকো ইনক্রিমেন্ট অপারেটর যখন "a" ফলাফলে প্রয়োগ করা হয় তখন একটি =$a((--b))ইকো ডিক্রিমেন্ট অপারেটর হয় যখন "b" এর উপর প্রয়োগ করা হয় তখন b =$b

আউটপুট

a এবং b এর যোগফল হল 55 a এর বিয়োগ এবং b হল a এর 9 গুণফল এবং b হল a এর 736 ভাগ এবং b হল 1 অবশিষ্ট যখন a ভাগ করা হয় b হল 9 ইনক্রিমেন্ট অপারেটর যখন একটি ফলাফলে প্রয়োগ করা হয় তখন a =33 ডিক্রিমেন্ট অপারেটর যখন b এ প্রয়োগ করা হয় ফলাফল b =24

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

শেল স্ক্রিপ্টিংয়ের রিলেশনাল অপারেটর অপারেন্ডের মধ্যে সম্পর্ককে সংজ্ঞায়িত করে। অপারেটর এবং অপারেন্ডের উপর নির্ভর করে এর রিটার্ন মান হয় সত্য বা মিথ্যা। শেল স্ক্রিপ্টিং -

-এ 6 ধরনের বৈধ রিলেশনাল অপারেটর রয়েছে
  • ==অপারেটর অপারেটর যে দুটি অপারেটরের মান সমান করে। মান সমান হলে এটি সত্য প্রদান করে এবং অন্যথায় মিথ্যা প্রদান করে।

  • !=অপারেটর একটি অপারেটর যা দুটি অপারেটরের মানকে সমান করে এবং তাদের অসমতা পরীক্ষা করে। মান সমান না হলে এটি সত্য প্রদান করে এবং অন্যথায় মিথ্যা প্রদান করে।

  • <অপারেটর দুটি অপারেটরের মান তুলনা করে অপারেটরের চেয়ে কম। প্রথম অপারেন্ডের মান এক সেকেন্ডের চেয়ে ছোট হলে অপারেটর সত্য ফেরত দেয় অন্যথায় মিথ্যা ফেরত দেয়।

  • <=অপারেটর অপারেটরের থেকে কম বা সমান যা দুটি অপারেটরের মান তুলনা করে। যদি প্রথম অপারেন্ডের মান এক সেকেন্ডের চেয়ে ছোট বা সমান হয় তাহলে অপারেটর সত্য প্রদান করে অন্যথায় মিথ্যা প্রদান করে।

  • >অপারেটর দুটি অপারেটরের মান তুলনা করে অপারেটরের চেয়ে বড়। প্রথম অপারেন্ডের মান এক সেকেন্ডের চেয়ে বড় হলে অপারেটর সত্য ফেরত দেয় অন্যথায় মিথ্যা ফেরত দেয়।

  • =অপারেটর অপারেটরের চেয়ে বড় বা সমান যা দুটি অপারেটরের মান তুলনা করে। যদি প্রথম অপারেন্ডের মান এক সেকেন্ডের চেয়ে বড় বা সমান হয় তাহলে অপারেটর সত্য প্রদান করে অন্যথায় মিথ্যা প্রদান করে।

উদাহরণ

a =32b =67if(( $a==$b )) তারপর echo a সমান b.else echo a সমান নয় b.fiif(($a!=$b )) তারপর echo a হল b.else echo a সমান নয় b.fiif(($a<$b ))এর সমান তারপর echo a b.else echo a b.fiif(($a<=$b) এর চেয়ে কম নয় )তাহলে echo a b এর থেকে কম বা সমান .fiif(( $a>=$b )) তারপর echo a b এর থেকে বড় বা সমান 

আউটপুট

a এর সমান নয় b.a এর সমান নয় b.a এর থেকে কম নয় b.a এর চেয়ে কম বা b এর সমান নয় b.a এর চেয়ে বড় নয় b এর সমান নয়।

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

বুলিয়ান অপারেটর যা লজিক্যাল অপারেটর নামেও পরিচিত শেল স্ক্রিপ্টিং-এ লজিক্যাল অপারেশন করতে ব্যবহৃত হয়। শেল স্ক্রিপ্টিং -

-এ 3 ধরনের বৈধ লজিক্যাল অপারেটর রয়েছে
  • যৌক্তিক এবং (&&) বুলিয়ান মানের যুক্তি AND গণনা করে। উভয় অপারেন্ড সত্য হলে এটি সত্য দেখায়, অন্যথায় মিথ্যা।

  • যৌক্তিক বা (||) বুলিয়ান অপারেন্ডের লজিক্যাল বা অপারেশন গণনা করে। এটি মিথ্যা ফেরত দেয় যদি উভয় অপারেন্ড মিথ্যা হয় অন্যথায় সত্য।

  • যৌক্তিক নয় সমান (!)৷ পাস করা একক অপারেটরের নেগেশান গণনা করে। অপারেন্ডের মান সত্য হলে তা মিথ্যা ফেরত দেয় অন্যথায় সত্য।

উদাহরণ

a =trueb =falseif(($a =="true" &$b =="true" )) তারপর echo উভয়ই সত্য। অন্যথায় প্রতিধ্বনি উভয়ই সত্য নয়।fiif(($a =="সত্য") | অন্যথায় ইকো "a" প্রাথমিকভাবে সত্য ছিল।fi

আউটপুট

উভয়টিই সত্য নয়। অন্তত একটি সত্য প্রাথমিকভাবে সত্য ছিল।

বিটওয়াইজ অপারেটর হল সেই অপারেটর যারা বিট ভেরিয়েবলে বিটওয়াইজ অপারেশন করে। শেল স্ক্রিপ্টিং -

-এ 6 ধরনের বিটওয়াইজ অপারেটর রয়েছে
  • বিটওয়াইজ এবং (&) অপারেটর হল সেই অপারেটর যা অপারেন্ডের বিটগুলিতে বাইনারি এবং অপারেশন করে অর্থাৎ প্রথম ভেরিয়েবলের প্রতিটি বিট দ্বিতীয় অপারেটরের নিজ নিজ বিট দিয়ে পরিচালিত হয়৷

  • বিটওয়াইজ বা (|) অপারেটর হল সেই অপারেটর যে অপারেন্ডের বিটগুলিতে বাইনারি বা অপারেশন করে অর্থাৎ প্রথম ভেরিয়েবলের প্রতিটি বিট দ্বিতীয় অপারেটরের নিজ নিজ বিট দিয়ে পরিচালিত হয়৷

  • বিটওয়াইজ XOR (^) অপারেটর হল সেই অপারেটর যেটি অপারেন্ডের বিটগুলিতে বাইনারি XOR অপারেশন করে অর্থাৎ প্রথম ভেরিয়েবলের প্রতিটি বিট দ্বিতীয় অপারেটরের নিজ নিজ বিট দিয়ে পরিচালিত হয়৷

  • বিটওয়াইজ পরিপূরক (~) সেই অপারেটর যেটি অপারেন্ডের বিটগুলিতে বাইনারি নয় অপারেশন করে যেমন প্রথম ভেরিয়েবলের প্রতিটি বিট দ্বিতীয় অপারেটরের নিজ নিজ বিট দিয়ে পরিচালিত হয়৷

  • বিটওয়াইজ লেফট শিফট (<<) অপারেটর যেটি অপারেটরের ডানদিকে নির্দিষ্ট করা n বার অপারেন্ডের বিটগুলিকে বামে স্থানান্তর করে৷

  • বিটওয়াইজ লেফট শিফট (>>) অপারেটর যেটি অপারেটরের ডানদিকে নির্দিষ্ট করা n বার অপারেন্ডের বিটগুলিকে ডানদিকে স্থানান্তর করে৷

উদাহরণ

a =14b =67bitwiseAND=$(( a&b ))echo Bitwise AND a এবং b হল $bitwiseANDbitwiseOR=$((a|b ))echo Bitwise OR a এবং b হল $bitwiseORbitwiseXOR=$((a^ b ))a এবং b-এর প্রতিধ্বনি বিটওয়াইজ XOR হল $bitwiseXORbitiwiseComplement=$(( ~a ))a এর প্রতিধ্বনি বিটওয়াইজ কমপ্লিমেন্ট হল $bitiwiseComplementleftshift=$(( a<<1 ))a এর বাম শিফট হল $leftshiftrightshift=$( ( b>>1 )) b-এর echo Right Shift হল $rightshift

আউটপুট

a এর Bitwise AND a এবং b এর 2Bitwise OR a এবং b এর 79Bitwise XOR a এবং b হল 77Bitwise a এর কমপ্লিমেন্ট হল -15a এর Left Shift হল 28b এর Right Shift হল 33

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

ফাইল টেস্ট অপারেটরগুলি ফাইলের নির্দিষ্ট বৈশিষ্ট্যগুলি পরীক্ষা করতে ব্যবহৃত হয়। কিছু ফাইল টেস্ট অপারেটর হল:

  • -b অপারেটর নির্দিষ্ট ফাইলটি একটি ব্লক বিশেষ ফাইল কিনা তা পরীক্ষা করতে ব্যবহৃত হয়। যদি ফাইলটি একটি ব্লক বিশেষ ফাইল হয় তবে ফাংশনটি সত্য প্রদান করে অন্যথায় মিথ্যা প্রদান করে।

  • -s অপারেটর অপারেটর যা প্রদত্ত ফাইলের আকার পরীক্ষা করতে ব্যবহৃত হয়। ফাইলের আকার 0-এর বেশি হলে, এটি সত্য ফেরত দেয় অন্যথায় মিথ্যা ফেরত দেয়।

  • -আর অপারেটর অপারেটররা পরীক্ষা করে যে ফাইলের বিষয়বস্তু পড়ার অ্যাক্সেস দেওয়া হয়েছে কি না। পঠন অ্যাক্সেস মঞ্জুর করা হলে তা সত্য নয় অন্যথায় মিথ্যা ফেরত দেয়।

  • -w অপারেটর অপারেটররা পরীক্ষা করে যে ফাইলে লেখার অ্যাক্সেস দেওয়া হয়েছে কি না। যদি লেখার অ্যাক্সেস মঞ্জুর করা হয় তবে তা সত্য হয় অন্যথায় মিথ্যা।

  • -x অপারেটর অপারেটররা পরীক্ষা করে যে ফাইলটি এক্সিকিউট করার অ্যাক্সেস দেওয়া হয়েছে কি না। যদি এক্সিকিউশন অ্যাক্সেস মঞ্জুর করা হয় তবে এটি সত্য ফেরত দেয় অন্যথায় মিথ্যা।


  1. জাভাস্ক্রিপ্ট বিটওয়াইজ অপারেটর কি?

  2. জাভাস্ক্রিপ্টে বিশ্রাম এবং স্প্রেড অপারেটর

  3. শেল স্ক্রিপ্টিং এ Heredoc কিভাবে ব্যবহার করবেন

  4. লিনাক্স শেল এবং বেসিক শেল স্ক্রিপ্টিং ভাষা টিপস বুঝুন – প্রথম অংশ