ব্যাশ শেল স্ক্রিপ্টে ইনপুট আর্গুমেন্টের অস্তিত্ব কীভাবে পরীক্ষা করবেন

Byasa Sela Skripte Inaputa Argumentera Astitba Kibhabe Pariksa Karabena



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

ব্যাশ শেল স্ক্রিপ্টে ইনপুট আর্গুমেন্টের অস্তিত্ব কীভাবে পরীক্ষা করবেন

তিনটি ভিন্ন উপায় আছে:

  1. 'পরীক্ষা' কমান্ড ব্যবহার করে
  2. '$#' ভেরিয়েবল ব্যবহার করে
  3. '-n' বিকল্পটি ব্যবহার করে

পদ্ধতি 1: 'পরীক্ষা' কমান্ড ব্যবহার করে

'টেস্ট' কমান্ড, যা '[' কমান্ড নামেও পরিচিত, এটি ব্যাশে একটি অন্তর্নির্মিত কমান্ড যা বিভিন্ন অবস্থার জন্য পরীক্ষা করে। 'পরীক্ষা' কমান্ড ব্যবহার করে আমরা যে শর্তগুলি পরীক্ষা করতে পারি তা হল একটি পরিবর্তনশীল বিদ্যমান কিনা। 'টেস্ট' কমান্ড ব্যবহার করে একটি ইনপুট আর্গুমেন্ট বিদ্যমান কিনা তা পরীক্ষা করার জন্য এখানে একটি উদাহরণ কোড রয়েছে:







#!/bin/bash

যদি [ -সঙ্গে '$1' ]

তারপর

প্রতিধ্বনি 'ইনপুট আর্গুমেন্ট অনুপস্থিত।'

প্রস্থান 1

থাকা

প্রতিধ্বনি 'ইনপুট আর্গুমেন্ট বিদ্যমান।'

ইনপুট আর্গুমেন্টটি খালি স্ট্রিং কিনা তা পরীক্ষা করার জন্য এখানে '-z' বিকল্পটি 'test' কমান্ডের সাথে ব্যবহার করা হয়। স্ক্রিপ্টটি একটি ত্রুটি বার্তা আউটপুট করবে এবং ইনপুট আর্গুমেন্টটি একটি খালি স্ট্রিং হলে 1 এর একটি স্ট্যাটাস কোড দিয়ে প্রস্থান করবে। অন্যথায়, স্ক্রিপ্টটি কার্যকর করা অব্যাহত থাকবে, নীচে আমি কোডের জন্য যুক্তি প্রদান করেছি এবং ইনপুট করেছি যাতে এটি যুক্তির ইনপুটের অস্তিত্বের বার্তা প্রদর্শন করে:





পদ্ধতি 2: '$#' ভেরিয়েবল ব্যবহার করা

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





#!/bin/bash

যদি [ $# -eq 0 ]

তারপর

প্রতিধ্বনি 'ইনপুট আর্গুমেন্ট অনুপস্থিত।'

প্রস্থান 1

থাকা

প্রতিধ্বনি 'ইনপুট আর্গুমেন্ট বিদ্যমান।'

এখানে '-eq' অপারেটর চেক করতে ব্যবহার করা হয় কিনা '$#' ভেরিয়েবলটি শূন্যের সমান বা না এবং যদি '$#' ভেরিয়েবলটি শূন্যের সমান হয়, স্ক্রিপ্টটি একটি ত্রুটি বার্তা প্রদর্শন করবে এবং 1 এর স্ট্যাটাস কোড সহ প্রস্থান করবে। অন্যথায়, স্ক্রিপ্টটি কার্যকর করা অব্যাহত থাকবে, নীচে আমি প্রদান করেছি এবং ইনপুট কোডের জন্য আর্গুমেন্ট তাই এটি আর্গুমেন্টের ইনপুটের অস্তিত্বের বার্তা প্রদর্শন করে:



পদ্ধতি 3: '-n' বিকল্পটি ব্যবহার করা

দ্য '-n' একটি ভেরিয়েবল খালি না কিনা তা পরীক্ষা করতে বিকল্পটি ব্যবহার করা হয়। ইনপুট আর্গুমেন্ট আছে কি না তা পরীক্ষা করতে আমরা এই বিকল্পটি ব্যবহার করতে পারি। নীচে আমি একটি উদাহরণ কোড দিয়েছি যেটি ব্যবহার করে একটি ইনপুট আর্গুমেন্ট বিদ্যমান কিনা তা পরীক্ষা করে '-n' বিকল্প:

#!/bin/bash

যদি [ -n '$1' ]

তারপর

প্রতিধ্বনি 'ইনপুট আর্গুমেন্ট বিদ্যমান।'

অন্য

প্রতিধ্বনি 'ইনপুট আর্গুমেন্ট অনুপস্থিত।'

প্রস্থান 1

থাকা

এখানে '-n' ইনপুট আর্গুমেন্ট খালি না থাকলে এবং ইনপুট আর্গুমেন্ট খালি না থাকলে, স্ক্রিপ্ট একটি সফল বার্তা প্রদর্শন করবে কিনা তা পরীক্ষা করতে বিকল্পটি ব্যবহার করা হয়। অন্যথায়, স্ক্রিপ্টটি একটি ত্রুটি বার্তা প্রদর্শন করবে এবং 1 এর একটি স্ট্যাটাস কোড সহ প্রস্থান করবে, নীচে আমি প্রদান করেছি এবং কোডের জন্য যুক্তি ইনপুট করে তাই এটি যুক্তির ইনপুটের অস্তিত্বের বার্তা প্রদর্শন করে:

উপসংহার

শেল স্ক্রিপ্টিং-এ, ইনপুট আর্গুমেন্টের অস্তিত্ব পরীক্ষা করা স্ক্রিপ্ট প্রত্যাশিতভাবে চালানো নিশ্চিত করার জন্য একটি অপরিহার্য পদক্ষেপ। ইনপুট আর্গুমেন্টের অস্তিত্ব পরীক্ষা করার জন্য আমরা বিভিন্ন কৌশল ব্যবহার করতে পারি, যেমন 'টেস্ট' কমান্ড, '$#' ভেরিয়েবল বা '-n' বিকল্প ব্যবহার করে। এই কৌশলগুলি প্রয়োগ করে, আমরা আরও শক্তিশালী এবং নির্ভরযোগ্য শেল স্ক্রিপ্ট তৈরি করি যা ইনপুট আর্গুমেন্টগুলি পরিচালনা করতে পারে।