30 বাশ স্ক্রিপ্ট ইন্টারভিউ প্রশ্ন এবং উত্তর

30 Bash Script Interview Questions



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

#01। বাশ স্ক্রিপ্ট কি?

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







#02। ব্যাশ স্ক্রিপ্ট ব্যবহারের সুবিধা কি?

ব্যাশ স্ক্রিপ্টের অনেক সুবিধা রয়েছে যা নীচে বর্ণিত হয়েছে:



  • এটি ব্যবহার করা এবং শেখা সহজ।
  • অনেক ম্যানুয়াল কাজ যা ঘন ঘন চালানোর প্রয়োজন হয় তা একটি ব্যাশ স্ক্রিপ্ট লিখে স্বয়ংক্রিয়ভাবে সম্পন্ন করা যায়।
  • একাধিক শেল কমান্ডের ক্রম একক কমান্ড দ্বারা সম্পাদিত হতে পারে।
  • একটি লিনাক্স অপারেটিং সিস্টেমে লেখা বাশ স্ক্রিপ্ট অন্য লিনাক্স অপারেটিং সিস্টেমে সহজেই চালানো যায়। সুতরাং, এটি বহনযোগ্য।
  • ব্যাশে ডিবাগ করা অন্যান্য প্রোগ্রামিং ভাষার তুলনায় সহজ।
  • টার্মিনালে ব্যবহৃত কমান্ড-লাইন সিনট্যাক্স এবং কমান্ডগুলি ব্যাশ স্ক্রিপ্টে ব্যবহৃত কমান্ড এবং সিনট্যাক্সের অনুরূপ।
  • বাশ স্ক্রিপ্ট অন্যান্য স্ক্রিপ্ট ফাইলের সাথে লিঙ্ক করতে ব্যবহার করা যেতে পারে।

#03। ব্যাশ স্ক্রিপ্টগুলির অসুবিধাগুলি উল্লেখ করুন

ব্যাশ স্ক্রিপ্টের কিছু অসুবিধা নিচে উল্লেখ করা হলো:



  • এটি অন্যান্য ভাষার তুলনায় ধীর গতিতে কাজ করে।
  • অনুপযুক্ত স্ক্রিপ্ট পুরো প্রক্রিয়াটিকে ক্ষতিগ্রস্ত করতে পারে এবং একটি জটিল ত্রুটি তৈরি করতে পারে।
  • এটি একটি বড় এবং জটিল অ্যাপ্লিকেশন বিকাশের জন্য উপযুক্ত নয়।
  • এটি অন্যান্য স্ট্যান্ডার্ড প্রোগ্রামিং ভাষার তুলনায় কম ডেটা স্ট্রাকচার ধারণ করে।

#04। ব্যাশে কোন ধরনের ভেরিয়েবল ব্যবহার করা হয়?

ব্যাশ স্ক্রিপ্টে দুই ধরনের ভেরিয়েবল ব্যবহার করা যেতে পারে। এইগুলো:

সিস্টেম ভেরিয়েবল
লিনাক্স অপারেটিং সিস্টেমের দ্বারা পূর্বনির্ধারিত এবং রক্ষণাবেক্ষণ করা ভেরিয়েবলগুলিকে সিস্টেম ভেরিয়েবল বলা হয়। এই ধরনের ভেরিয়েবল সবসময় বড় হাতের অক্ষর দ্বারা ব্যবহৃত হয়। এই ভেরিয়েবলের ডিফল্ট মানগুলি প্রয়োজনীয়তার ভিত্তিতে পরিবর্তন করা যেতে পারে।

`সেট`,` env` এবং ` printenv `কমান্ডগুলি সিস্টেম ভেরিয়েবলের তালিকা মুদ্রণ করতে ব্যবহার করা যেতে পারে।

উদাহরণ:





#!/বিন/ব্যাশ
# প্রিন্টিং সিস্টেম ভেরিয়েবল

#প্রিন্ট বাশ শেল নাম
বের করে দিল $ বাশ

# প্রিন্ট বাশ শেল সংস্করণ
বের করে দিল $ BASH_VERSION

# প্রিন্ট হোম ডিরেক্টরি নাম
বের করে দিল $ HOME

ব্যবহারকারী সংজ্ঞায়িত পরিবর্তনশীল

ব্যবহারকারীদের দ্বারা তৈরি এবং রক্ষণাবেক্ষণ করা ভেরিয়েবলগুলিকে ব্যবহারকারী-সংজ্ঞায়িত ভেরিয়েবল বলা হয়। তাদের স্থানীয় ভেরিয়েবলও বলা হয়। এই ধরনের ভেরিয়েবলগুলি ছোট হাতের বা বড় হাতের বা বড় হাতের এবং ছোট হাতের উভয় অক্ষর ব্যবহার করে ঘোষণা করা যেতে পারে। কিন্তু সিস্টেম ভেরিয়েবল থেকে ভেরিয়েবল আলাদা করার জন্য সমস্ত বড় হাতের অক্ষর ব্যবহার করা এড়ানো ভাল।
উদাহরণ:

#!/বিন/ব্যাশ

একের উপর=100
বের করে দিল $ num

#05। কিভাবে bash এ ভেরিয়েবল ঘোষণা এবং মুছে ফেলা যায়?

ভেরিয়েবল ডেটা টাইপ বা ডাটা টাইপ ছাড়া বাশে ঘোষিত হতে পারে। যদি কোন bash ভেরিয়েবল ছাড়া ঘোষণা করা হয় ঘোষণা করা কমান্ড, তারপর পরিবর্তনশীল একটি স্ট্রিং হিসাবে গণ্য করা হবে। ব্যাশ ভেরিয়েবল দিয়ে ঘোষণা করা হয় ঘোষণা করা সময় ঘোষণায় ভেরিয়েবলের ডেটা টাইপ সংজ্ঞায়িত করার কমান্ড।



–R , -আই, -এ, -এ, -ল, -উ, -টি এবং -এক্স বিকল্পগুলি ব্যবহার করা যেতে পারে ঘোষণা করা বিভিন্ন ডাটা টাইপ সহ একটি ভেরিয়েবল ডিক্লেয়ার করার কমান্ড।

উদাহরণ:

#!/বিন/ব্যাশ

#কোন প্রকার ছাড়াই পরিবর্তনশীল ঘোষণা করুন
একের উপর=10

#মান একত্রিত করা হবে কিন্তু যোগ করা হবে না
ফলাফল=$ num+বিশ
বের করে দিল $ ফলাফল

#পূর্ণসংখ্যা টাইপ সহ পরিবর্তনশীল ঘোষণা করুন
ঘোষণা করা -আই একের উপর=10

#মান যোগ করা হবে
ঘোষণা করা -আই ফলাফল= সংখ্যা+বিশ
বের করে দিল $ ফলাফল

সেট না করা যেকোন ব্যাশ ভেরিয়েবল মুছে ফেলার জন্য কমান্ড ব্যবহার করা হয়। ভেরিয়েবল ব্যবহার করার পর অ্যাক্সেসযোগ্য বা অনির্ধারিত হবে সেট না করা কমান্ড

উদাহরণ:

#!/বিন/ব্যাশ

পৃ='লিনাক্স ইঙ্গিত'
বের করে দিল $ str
সেট না করা $ str
বের করে দিল $ str

#06। ব্যাশ স্ক্রিপ্টে মন্তব্যগুলি কীভাবে যুক্ত করবেন?

বাশ স্ক্রিপ্টে একক লাইন এবং বহু-লাইন মন্তব্য ব্যবহার করা যেতে পারে। ' # একক লাইনের মন্তব্যের জন্য প্রতীক ব্যবহার করা হয়। '<<’ একটি ডিলিমিটার সহ প্রতীক এবং ':' একক (') সহ বহু-লাইন মন্তব্য যোগ করার জন্য ব্যবহার করা হয়।

উদাহরণ:

#!/বিন/ব্যাশ
#লেখাটি মুদ্রণ করুন [একক লাইন মন্তব্য]
বের করে দিল 'ব্যাশ প্রোগ্রামিং'
< যোগফল গণনা করুন
দুটি সংখ্যার [মাল্টিলাইন মন্তব্য]
মন্তব্য যোগ করুন

একের উপর=25+35
বের করে দিল $ num
:'
দুটি একত্রিত করুন
স্ট্রিং ডেটা [মাল্টিলাইন মন্তব্য]
'

স্ট্রিং='হ্যালো'
বের করে দিল $ স্ট্রিং'বিশ্ব'

#07। আপনি কিভাবে একটি বাশ স্ক্রিপ্টে স্ট্রিংগুলিকে একত্রিত করতে পারেন?

স্ট্রিং মানগুলি বিভিন্ন উপায়ে ব্যাশে একত্রিত হতে পারে। সাধারণত, স্ট্রিং মানগুলি একত্রিত করে একত্রিত করা হয় কিন্তু স্ট্রিং ডেটা একত্রিত করার জন্য ব্যাশের অন্যান্য উপায় রয়েছে।

উদাহরণ:

#!/বিন/ব্যাশ
#ভেরিয়েবল শুরু করুন
str1='পিএইচপি'
str2='বাশ'
str3='পার্ল'

# স্পেস সহ স্ট্রিং প্রিন্ট করুন
বের করে দিল $ str1 $ str2 $ str3

#সমস্ত ভেরিয়েবল একত্রিত করুন এবং অন্য একটি ভেরিয়েবলে সংরক্ষণ করুন
পৃ='$ str1,$ str2এবং$ str3'

#স্ট্রিং এর বিদ্যমান মান সহ অন্যান্য স্ট্রিং ডেটা একত্রিত করুন
str + ='স্ক্রিপ্টিং ল্যাঙ্গুয়েজ'

#স্ট্রিং প্রিন্ট করুন
বের করে দিল $ str

#08। কোন কমান্ড ব্যাশে আউটপুট প্রিন্ট করতে ব্যবহৃত হয়?

`প্রতিধ্বনি` এবং `printf` bash এ আউটপুট প্রিন্ট করার জন্য কমান্ড ব্যবহার করা যেতে পারে। `প্রতিধ্বনি `কমান্ডটি সাধারণ আউটপুট প্রিন্ট করতে ব্যবহৃত হয় এবং `printf` ফরম্যাট আউটপুট প্রিন্ট করতে কমান্ড ব্যবহার করা হয়।

উদাহরণ:

#!/বিন/ব্যাশ

#লেখাটি প্রিন্ট করুন
বের করে দিল 'LinuxHint এ স্বাগতম'
সাইট='linuxhint.com'
#বিন্যাসিত পাঠ্য মুদ্রণ করুন
printf '%s একটি জনপ্রিয় ব্লগ সাইটn' $ সাইট

#09। ব্যাশে টার্মিনাল থেকে কিভাবে ইনপুট নেবেন?

`পড়া` টার্মিনাল থেকে ইনপুট নিতে একটি ব্যাশ স্ক্রিপ্টে কমান্ড ব্যবহার করা হয়।

উদাহরণ:

#!/বিন/ব্যাশ
#বার্তা প্রিন্ট করুন
বের করে দিল 'আপনার নাম প্রবেশ করুন'
#ব্যবহারকারীর কাছ থেকে ইনপুট নিন
পড়ুননাম
# অন্যান্য স্ট্রিং এর সাথে $ name এর মান প্রিন্ট করুন
বের করে দিল 'আপনার নাম$ নাম'

#10। ব্যাশে কমান্ড-লাইন আর্গুমেন্টগুলি কীভাবে ব্যবহার করবেন?

কমান্ড-লাইন আর্গুমেন্টগুলি পড়ে $ 1, $ 2, $ 3… $ n ভেরিয়েবল ব্যাশ স্ক্রিপ্ট চালানোর সময় কমান্ড-লাইন আর্গুমেন্ট মান টার্মিনালে প্রদান করা হয়। $ 1 প্রথম যুক্তি পড়তে ব্যবহৃত হয়, $ 2 দ্বিতীয় যুক্তি পড়ার জন্য ব্যবহার করা হয় এবং তাই।

উদাহরণ:

#!/বিন/ব্যাশ
#যাচাই করুন কোন যুক্তি প্রদান করা হয়েছে কি না
যদি [[ $ # -ইক 0 ]];তারপর
বের করে দিল 'কোন যুক্তি দেওয়া হয় না।'
প্রস্থান 0
থাকা
#প্রথম আর্গুমেন্ট মান সংরক্ষণ করুন
রঙ=$ 1
# অন্যান্য স্ট্রিং দিয়ে যুক্তি মুদ্রণ করুন
printf 'তোমার প্রিয় রং হল %sn' $ রঙ

#11। বাশ কি একটি দুর্বল টাইপ করা ভাষা? কেন?

হ্যাঁ, ব্যাশকে দুর্বল বা শিথিলভাবে টাইপ করা ভাষা হিসাবে বিবেচনা করা হয় কারণ এটি পরিবর্তনশীল ঘোষণার সময় ডেটার ধরন ঘোষণা করার প্রয়োজন হয় না। সমস্ত bash ভেরিয়েবলকে ডিফল্টভাবে স্ট্রিং হিসেবে ধরা হয় এবং ভেরিয়েবলের ধরন বর্তমান মানের উপর ভিত্তি করে সেট করা হবে। ডেটা টাইপ সহ ব্যাশ ভেরিয়েবল ব্যবহার করে সংজ্ঞায়িত করা যায় ঘোষণা করা একটি বিশেষ বিকল্প সহ কমান্ড। কিন্তু ডেটা টাইপ সংজ্ঞায়িত করার বিকল্পগুলি সীমিত এবং সব ধরনের ডেটা সমর্থন করে না। উদাহরণ স্বরূপ, ভাসা ডেটা টাইপ ব্যবহার করে ঘোষণা করা যায় না ঘোষণা করা কমান্ড

উদাহরণ:

#!/বিন/ব্যাশ

#MyVar- এর ডেটা টাইপ ডিফল্টভাবে স্ট্রিং
myVar=29

# ভেরিয়েবল প্রিন্ট করুন
বের করে দিল $ myVar

# মান 67 দিয়ে পূর্ণসংখ্যা পরিবর্তনশীল $ সংখ্যা ঘোষণা করুন
ঘোষণা করা -আই সংখ্যা=67

#ভেরিয়েবল প্রিন্ট করুন
বের করে দিল $ সংখ্যা

# সংখ্যাসূচক ভেরিয়েবলে স্ট্রিং ডেটা বরাদ্দ করুন। নিচের লাইনটি তৈরি হবে
# সিনট্যাক্স ত্রুটি এবং $ number এর মান পরিবর্তন হবে না
সংখ্যা='আমি বাশ পছন্দ করি'
বের করে দিল $ সংখ্যা

#12। কিভাবে একটি ফাইলের প্রতিটি লাইন থেকে দ্বিতীয় শব্দ বা কলাম পড়বেন?

একটি ফাইলের দ্বিতীয় শব্দ বা কলাম বিভিন্ন ব্যাশ কমান্ড ব্যবহার করে সহজেই ব্যাশ স্ক্রিপ্টে পড়তে পারে, যেমন `awk`,` sed` ইত্যাদি। `awk` নিম্নলিখিত উদাহরণে দেখানো হয়েছে।
উদাহরণ: ধরুন, course.txt ফাইলে নিম্নলিখিত বিষয়বস্তু রয়েছে এবং আমরা এই ফাইলের প্রতিটি লাইনের দ্বিতীয় শব্দটিই মুদ্রণ করেছি।

CSE201 জাভা প্রোগ্রামিং
CSE303 ডেটা স্ট্রাকচার
CSE408 ইউনিক্স প্রোগ্রামিং#!/বিন/ব্যাশ
# নিম্নলিখিত স্ক্রিপ্ট course.txt ফাইল থেকে প্রতিটি লাইনের দ্বিতীয় শব্দ মুদ্রণ করবে।
# cat কমান্ডের আউটপুট awk কমান্ডে চলে যাবে যা দ্বিতীয় শব্দটি পড়বে
প্রতিটি লাইনের #।
বের করে দিল 'বিড়ালcourse.txt| awk '{মুদ্রণ $ 2}''

#13। কিভাবে ব্যাশে একটি অ্যারে ভেরিয়েবল ঘোষণা এবং অ্যাক্সেস করবেন?

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

উদাহরণ:

#!/বিন/ব্যাশ

# একটি সাধারণ সংখ্যাসূচক অ্যারে ঘোষণা করুন
arr1=(CodeIgniter Laravel ReactJS)

# $ Arr1 এর প্রথম উপাদান মান মুদ্রণ করুন
বের করে দিল $ {arr1 [0] {

# ডিক্লেয়ার কমান্ড ব্যবহার করে একটি সংখ্যাসূচক অ্যারে ঘোষণা করুন
ঘোষণা করা -প্রতি arr2=(HTML CSS জাভাস্ক্রিপ্ট)

# $ Arr2 এর দ্বিতীয় উপাদান মান মুদ্রণ করুন
বের করে দিল $ {arr2 [1]}

# ডিক্লেয়ার স্টেটমেন্ট ব্যবহার করে একটি সহযোগী অ্যারে ঘোষণা করুন
ঘোষণা করা -প্রতি arr3=( [কাঠামো]= লারাভেল[সিএমএস]= ওয়ার্ডপ্রেস[গ্রন্থাগার]= JQuery)

# $ Arr3 এর তৃতীয় উপাদান মান মুদ্রণ করুন
বের করে দিল $ {arr3 [লাইব্রেরি]}

অ্যারের সূচী হিসেবে যেকোনো লুপ বা '*' চিহ্ন ব্যবহার করে অ্যারের সব উপাদান অ্যাক্সেস করা যায়।

#14। কিভাবে শর্তাধীন বিবৃতি ব্যাশে ব্যবহার করা যেতে পারে?

বেশিরভাগ প্রোগ্রামিং ল্যাঙ্গুয়েজে সবচেয়ে কন্ডিশনাল স্টেটমেন্ট if-elseif-else বিবৃতি এর বাক্য গঠন if-elseif-else ব্যাশে বিবৃতি অন্যান্য প্রোগ্রামিং ভাষা থেকে একটু ভিন্ন। 'যদি' একটি বাশ স্ক্রিপ্ট এবং প্রতিটি প্রকারে দুটি উপায়ে বিবৃতি ঘোষণা করা যেতে পারে 'যদি' ব্লক দিয়ে বন্ধ করতে হবে 'থাকা''যদি' অন্যান্য প্রোগ্রামিং ভাষার মত তৃতীয় বন্ধনী বা প্রথম বন্ধনী দ্বারা বিবৃতি সংজ্ঞায়িত করা যেতে পারে।

বাক্য গঠন:
প্রতি.

যদি [অবস্থা];
তারপর
বিবৃতি
থাকা

খ।

যদি [অবস্থা];তারপর
বিবৃতি
অন্য
বিবৃতি2
থাকা

গ।

যদি [অবস্থা];তারপর
বিবৃতি
এলিফ[অবস্থা];তারপর
বিবৃতি2
…।
অন্য
বিবৃতি n
থাকা

উদাহরণ:

#!/বিন/ব্যাশ

# $ N এ একটি মান নির্ধারণ করুন
n=30
# $ $ 100 এর চেয়ে বড় কিনা তা পরীক্ষা করুন
যদি [ $ n -জিটি 100 ];তারপর
বের করে দিল '$ n100 এর কম
# $ N আইডি 50 এর চেয়ে বড় কিনা তা পরীক্ষা করুন
এলিফ [ $ n -জিটি পঞ্চাশ ];তারপর
বের করে দিল '$ n50 এর কম
অন্য
বের করে দিল '$ n50 এর কম
থাকা

#15। ব্যাশে মানগুলি কীভাবে তুলনা করবেন?

ছয় ধরনের তুলনা অপারেটর মান তুলনা করতে ব্যাশে ব্যবহার করা যেতে পারে। ডেটা টাইপের উপর নির্ভর করে এই অপারেটরদের ব্যাশে ব্যবহার করার দুটি উপায় রয়েছে। এগুলো নিচে উল্লেখ করা হলো।

স্ট্রিং তুলনা ইন্টিজার কমারিসন বর্ণনা
== -ইক এটি সমতা পরীক্ষা করতে ব্যবহৃত হয়
! = -জন্ম এটি বৈষম্য যাচাই করতে ব্যবহৃত হয়
< -ল্ট এটি ব্যবহার করা হয় প্রথম মানটি দ্বিতীয় মানের চেয়ে কম কিনা তা পরীক্ষা করুন
> -জিটি এটি ব্যবহার করা হয় চেক করুন প্রথম মান দ্বিতীয় মানের চেয়ে বড় কিনা
<= -দ্য এটি ব্যবহার করা হয় প্রথম মান দ্বিতীয় মান থেকে কম বা সমান কিনা তা পরীক্ষা করুন
> = -দাও এটি ব্যবহার করা হয় চেক করুন প্রথম মান দ্বিতীয় মানের চেয়ে বড় বা সমান কিনা

উদাহরণ:

#!/বিন/ব্যাশ
# $ N শুরু করুন
n=130
অথবা='এমন কি'
# $ $ 100 এর চেয়ে বড় বা সমান বা '–ge' ব্যবহার না করে চেক করুন।
যদি [ $ n -দাও 100 ];তারপর
বের করে দিল '$ n100 এর চেয়ে বড় বা সমান
অন্য
বের করে দিল '$ n100 এর কম
থাকা
# '==' অপারেটর ব্যবহার করে $ n সমান বা বিজোড় কিনা তা পরীক্ষা করুন
যদি (( $ o=='এমন কি' ));তারপর
বের করে দিল 'সংখ্যাটি সমান'
অন্য
বের করে দিল 'সংখ্যাটি বিজোড়'
থাকা

#16। কোন শর্তসাপেক্ষ বিবৃতি ব্যাশে if-elseif-else বিবৃতির বিকল্প হিসেবে ব্যবহার করা যেতে পারে?

'কেস' বিবৃতিটি বিকল্প টিপি হিসাবে ব্যবহার করা যেতে পারে if-elseif-if বিবৃতি জন্য সিনট্যাক্স 'কেস' ব্যাশ স্ক্রিপ্টের বিবৃতি থেকে আলাদা সুইচ-কেস অন্যান্য প্রোগ্রামিং ভাষার বিবৃতি। 'কেস' দ্বারা ব্লক বন্ধ 'এসাক' ব্যাশে বিবৃতি। না ' বিরতি 'বিবৃতি ভিতরে ব্যবহৃত হয়' কেস 'ব্লক থেকে অবসান বন্ধ।

বাক্য গঠন:

কেস ভিতরে
ম্যাচ প্যাটার্ন)কমান্ড;;
ম্যাচ প্যাটার্ন2)কমান্ড;;
……
ম্যাচ প্যাটার্ন n)কমান্ড;;
esac

উদাহরণ:

#!/বিন/ব্যাশ
#পরিবর্তনশীল $ টিকিট শুরু করুন
টিকিট=101
# $ টিকেটের মূল্য 23, 101 এবং 503 এর সাথে তুলনা করুন
কেস $ টিকেট ভিতরে
2. 3)
# মান 23 হলে প্রিন্ট মেসেজ
বের করে দিল 'তুমি প্রথম পুরস্কার পেয়েছ';;
101)
# মান 101 হলে প্রিন্ট মেসেজ
বের করে দিল 'তুমি দ্বিতীয় পুরস্কার পেয়েছ';;
503)
# মান 503 হলে বার্তা মুদ্রণ করুন
বের করে দিল 'আপনি তৃতীয় পুরস্কার পেয়েছেন';;
*)
# 23, 101 এবং 503 এর সাথে মান না মিললে বার্তা প্রিন্ট করুন
বের করে দিল 'দু Sorryখিত, পরের বার চেষ্টা করুন'
প্রস্থান 0;;
esac

#17। ব্যাশে কোন ধরণের লুপ ব্যবহার করা যেতে পারে?

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

উদাহরণ:

#!/বিন/ব্যাশ
# $ N শুরু করুন
n=5
# লুপ ব্যবহার করে 5-1 এর বর্গ গণনা করুন
যখন [ $ n -জিটি 0 ]
কর
বর্গ= $((n*n))
বের করে দিল 'এর বর্গ$ nহয়$ sqr'
((n--))
সম্পন্ন

# লুপ ব্যবহার করে 5-1 এর বর্গ গণনা করুন
জন্য (( আমি=5; আমি>0; আমি-))
কর
বর্গ= $((আমি*আমি))
বের করে দিল 'এর বর্গ$ iহয়$ sqr'
সম্পন্ন

# $ X শুরু করুন
এক্স=5

# লুপ ব্যবহার করে 5-1 এর বর্গ গণনা করুন
পর্যন্ত [ $ x -দ্য 0 ]
কর
বর্গ= $((এক্স*এক্স))
বের করে দিল 'এর বর্গ$ xহয়$ sqr'
((এক্স--))
সম্পন্ন

#18। কিভাবে সাবরুটিন ঘোষণা করা যায় এবং বাশে বলা যায়?

ব্যাশে একটি ফাংশন বা পদ্ধতিকে সাবরুটিন বলা হয়। বাশে সাবরুটিনের ঘোষণা এবং আহ্বান অন্যান্য ভাষা থেকে আলাদা। অন্যান্য স্ট্যান্ডার্ড প্রোগ্রামিং ভাষার মত সাবরুটিনে কোন যুক্তি ঘোষণা করা যাবে না। কিন্তু স্থানীয় ভেরিয়েবলগুলি সাবরুটিনে ব্যবহার করে সংজ্ঞায়িত করা যেতে পারে 'স্থানীয়' কীওয়ার্ড

উদাহরণ:

#!/বিন/ব্যাশ
# পরিবর্তনশীল $ x এবং $ y যা বৈশ্বিক
এক্স=10
এবং=35

# ফাংশন ঘোষণা করুন
myFunc() {
# স্থানীয় পরিবর্তনশীল $ x ঘোষণা করুন
স্থানীয় এক্স=পনের

# বৈশ্বিক পরিবর্তনশীল $ y পুনরায় বরাদ্দ করুন
এবং=25

# $ X এবং $ y এর যোগফল গণনা করুন
সঙ্গে= $((x + y))

# একটি স্থানীয় পরিবর্তনশীল, $ x, এবং বৈশ্বিক পরিবর্তনশীল, $ y এর যোগফল মুদ্রণ করুন
বের করে দিল 'যোগফল$ xএবং$ yসমান$ z'
}

# ফাংশনে কল করুন
myFunc

# বৈশ্বিক ভেরিয়েবলের যোগফল, $ x, এবং $ y প্রিন্ট করুন
বের করে দিল 'যোগফল$ xএবং$ yসমান$ z'

#19। ব্যাশে স্ট্রিং ডেটার কিছু অংশ কীভাবে কেটে এবং মুদ্রণ করবেন?

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

উদাহরণ:

#!/বিন/ব্যাশ
# একটি স্ট্রিং মানকে $ স্ট্রিংয়ে শুরু করুন
স্ট্রিং='পাইথন স্ক্রিপ্টিং ল্যাঙ্গুয়েজ'
# স্ট্রিং এর মান 7 পজিশন থেকে স্ট্রিং এর শেষ পর্যন্ত কাটুন
বের করে দিল $ {স্ট্রিং: 7}
# অবস্থান 7 থেকে 9 অক্ষরের স্ট্রিং মান কাটা
বের করে দিল $ {স্ট্রিং: 7: 9}
# স্ট্রিং মানটি 17 থেকে 20 পর্যন্ত কাটুন
বের করে দিল $ {স্ট্রিং: 17: -4}

#20। ব্যাশে গাণিতিক ক্রিয়াকলাপ সম্পাদনের কিছু উপায় উল্লেখ করুন?

ব্যাশে গাণিতিক ক্রিয়াকলাপ একাধিক উপায়ে করা যেতে পারে। 'যাক', 'expr', 'bc' এবং ডবল বন্ধনী ব্যাশে গাণিতিক ক্রিয়াকলাপ সম্পাদনের সবচেয়ে সাধারণ উপায়। এই কমান্ডগুলির ব্যবহার নিম্নলিখিত উদাহরণে দেখানো হয়েছে।

উদাহরণ:

#!/বিন/ব্যাশ
# এক্সপ্রেস এবং প্যারামিটার সম্প্রসারণ ব্যবহার করে বিয়োগ গণনা করা
var1= $( এক্সপ্রেস 120-100 )
# ফলাফল প্রিন্ট করুন
বের করে দিল $ var1
# Let কমান্ড ব্যবহার করে সংযোজন গণনা করুন
দিন var2=200+300
# Rsult প্রিন্ট করুন
বের করে দিল $ var2
# ফলাফল পেতে 'bc' ব্যবহার করে বিভাগের মান গণনা করুন এবং মুদ্রণ করুন
# ভগ্নাংশের মান সহ
বের করে দিল 'স্কেল = 2; 44/7 ' | বিসি
# ডবল বন্ধনী ব্যবহার করে গুণের মান গণনা করুন
var3= $(( 5*3 ))
# ফলাফল প্রিন্ট করুন
বের করে দিল $ var3

#21। কিভাবে একটি ডিরেক্টরি বিদ্যমান বা ব্যাশ ব্যবহার না চেক করবেন?

একটি ফাইল বা ডিরেক্টরি আছে কি না এবং ফাইলের ধরন আছে কিনা তা পরীক্ষা করার জন্য ব্যাশের অনেক পরীক্ষা কমান্ড রয়েছে। '-ডি' একটি ডিরেক্টরি পাথের সাথে বিকল্পটি একটি শর্তসাপেক্ষ বিবৃতি হিসাবে ব্যবহার করা হয় যাতে ডিরেক্টরিটি বিদ্যমান বা না থাকে তা পরীক্ষা করে। যদি ডিরেক্টরিটি বিদ্যমান থাকে তবে এটি সত্য ফিরে আসবে অন্যথায় এটি মিথ্যা ফিরে আসবে।

উদাহরণ:

#!/বিন/ব্যাশ
# ভেরিয়েবল, $ পাথে পথ দিয়ে ডিরেক্টরিটি বরাদ্দ করুন
পথ='/হোম/উবুন্টু/টেম্প'
# ডিরেক্টরিটি আছে কিনা তা পরীক্ষা করুন
যদি [ -ডি '$ পথ' ];তারপর
# ডিরেক্টরিটি উপস্থিত থাকলে প্রিন্ট বার্তা
বের করে দিল 'ডিরেক্টরি বিদ্যমান'
অন্য
# ডিরেক্টরিটি না থাকলে বার্তা মুদ্রণ করুন
বের করে দিল 'ডিরেক্টরি নেই'
থাকা

#22। সমস্ত বিবৃতি কার্যকর না করে কীভাবে একটি বাশ স্ক্রিপ্ট বন্ধ করা যায়?

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

উদাহরণ:

#!/বিন/ব্যাশ

# ফাইলের নামটি ভেরিয়েবল, $ filename এ শুরু করুন
ফাইলের নাম='course.txt'

# -F বিকল্পটি ব্যবহার করে ফাইলটি বিদ্যমান কিনা তা পরীক্ষা করুন
যদি [ -ফ '$ filename' ];তারপর
# ফাইল বিদ্যমান থাকলে প্রিন্ট বার্তা
বের করে দিল '$ filenameবিদ্যমান '
অন্য
# ফাইলটি না থাকলে প্রিন্ট মেসেজ
বের করে দিল '$ filenameবিদ্যমান না'
# স্ক্রিপ্ট বন্ধ করুন
প্রস্থান
থাকা

# ফাইলটি বিদ্যমান থাকলে ফাইলের দৈর্ঘ্য গণনা করুন
দৈর্ঘ্য='wc -সি $ filename'

# ফাইলের দৈর্ঘ্য প্রিন্ট করুন
বের করে দিল 'মোট অক্ষর -$ দৈর্ঘ্য'

#23। ব্যাশে ব্রেক এবং অব্যাহত বিবৃতি ব্যবহার কি?

বিরতি একটি শর্তের উপর ভিত্তি করে সম্পূর্ণ পুনরাবৃত্তি সম্পন্ন না করে একটি লুপ থেকে সমাপ্তির জন্য বিবৃতি ব্যবহার করা হয় চালিয়ে যান একটি শর্তের উপর ভিত্তি করে কিছু বিবৃতি বাদ দিতে বিবৃতিটি একটি লুপে ব্যবহৃত হয়। এর ব্যবহার বিরতি এবং চালিয়ে যান বিবৃতিগুলি নিম্নলিখিত উদাহরণে ব্যাখ্যা করা হয়েছে।

উদাহরণ:

#!/বিন/ব্যাশ
# লুপ শুরু করতে $ i থেকে 0 পরিবর্তনশীল শুরু করুন
আমি=0
# লুপ 10 বার ফট পুনরাবৃত্তি করবে
যখন [ $ i -দ্য 10 ]
কর
# $ 1 এর মান বাড়ান
((আমি ++))
# যদি $ i এর মান 8 এর সমান হয় তবে 'ব্রেক' স্টেটমেন্ট ব্যবহার করে লুপটি বন্ধ করুন
যদি [ $ i -ইক 8 ];তারপর
বিরতি;
থাকা
# যদি $ i এর মান 6 এর বেশি হয় তবে লুপের শেষ বিবৃতিটি বাদ দিন
# অবিরত বিবৃতি ব্যবহার করে
যদি [ $ i -দাও 6 ];তারপর
চালিয়ে যান;
থাকা
বের করে দিল 'i = এর বর্তমান মান$ i'
সম্পন্ন

# লুপ থেকে শেষ হওয়ার পর $ i এর মান প্রিন্ট করুন
বের করে দিল এখন i = এর মান$ i'

#24। কিভাবে একটি ব্যাশ ফাইল এক্সিকিউটেবল করা যায়?

এক্সিকিউটেবল ব্যাশ ফাইল ব্যবহার করে তৈরি করা যায় 'Chmod' কমান্ড এক্সিকিউটেবল পারমিশন ব্যবহার করে সেট করা যায় '+ এক্স' ভিতরে chmod স্ক্রিপ্ট ফাইলের নাম দিয়ে কমান্ড করুন। ব্যাশ ফাইলগুলি স্পষ্ট ছাড়াই কার্যকর করা যেতে পারে 'বাশ' সেই ফাইলের জন্য এক্সিকিউশন বিট সেট করার পরে কমান্ড।

উদাহরণ:

# এক্সিকিউশন বিট সেট করুন
$chmod+ x filename.sh

# এক্সিকিউটেবল ফাইলটি চালান
$/filename.sh

#25। ফাইলগুলি পরীক্ষা করার জন্য ব্যবহৃত কিছু বিকল্প উল্লেখ করুন

Bash to test ফাইলে অনেক অপশন পাওয়া যায়। কিছু অপশন নিচে উল্লেখ করা হল।

বিকল্প বর্ণনা
-ফ এটি বিদ্যমান ফাইলটি পরীক্ষা করতে ব্যবহৃত হয় এবং এটি একটি নিয়মিত ফাইল।
-এবং এটি শুধুমাত্র বিদ্যমান ফাইল পরীক্ষা করতে ব্যবহৃত হয়।
-আর এটি বিদ্যমান ফাইলটি পরীক্ষা করার জন্য ব্যবহৃত হয় এবং এটি পড়ার অনুমতি রয়েছে।
-ভিতরে এটি বিদ্যমান ফাইলটি পরীক্ষা করতে ব্যবহৃত হয় এবং এটির অনুমতি লিখতে হবে।
-এক্স এটি ফাইলটি বিদ্যমান কিনা তা পরীক্ষা করার জন্য ব্যবহৃত হয় এবং এর এক্সিকিউশন পারমিশন আছে।
-ডি এটি ডিরেক্টরিটি বিদ্যমান কিনা তা পরীক্ষা করতে ব্যবহৃত হয়।
-দ্য এটি বিদ্যমান ফাইলটি পরীক্ষা করতে ব্যবহৃত হয় এবং এটি একটি প্রতীকী লিঙ্ক।
-এস এটি বিদ্যমান ফাইলটি পরীক্ষা করতে ব্যবহৃত হয় এবং এটি একটি সকেট।
-বি এটি একটি ব্লক ডিভাইস পরীক্ষা করার জন্য ব্যবহৃত হয়।
-এস ফাইলটি শূন্য আকারের নয় তা পরীক্ষা করতে ব্যবহৃত হয়।
-যেমন এটি প্রথম ফাইলের বিষয়বস্তু পরীক্ষা করতে ব্যবহৃত হয় দ্বিতীয় ফাইলের চেয়ে নতুন। উদাহরণস্বরূপ, file1 -nt file2 নির্দেশ করে যে file1 file2 এর চেয়ে নতুন।
-ওট এটি প্রথম ফাইলের বিষয়বস্তু পরীক্ষা করতে ব্যবহৃত হয় দ্বিতীয় ফাইলের চেয়ে পুরনো। উদাহরণস্বরূপ, file1 -ot file2 নির্দেশ করে যে file1 file2 এর চেয়ে পুরনো।
-ইফ এটি পরীক্ষা করতে ব্যবহৃত হয় যে দুটি হার্ড লিঙ্ক একই ফাইলকে নির্দেশ করে। উদাহরণস্বরূপ, flink1 -ef flink2 ইঙ্গিত করে যে flink1 এবং flink2 হল হার্ড লিঙ্ক এবং উভয়ই একই ফাইলের উল্লেখ করে।

#26। 'বিসি' বলতে কী বোঝায় এবং কীভাবে এই কমান্ডটি ব্যাশে ব্যবহার করা যেতে পারে?

'Bc' এর পূর্ণরূপ ব্যাশ ক্যালকুলেটর ব্যাশে গাণিতিক ক্রিয়াকলাপগুলি আরও সঠিকভাবে সম্পাদন করতে। ব্যাশের মাধ্যমে কোনো গাণিতিক অপারেশন করা হলে ভগ্নাংশ অংশ বাদ দেওয়া হয় 'এক্সপিআর' কমান্ড ভগ্নাংশ অংশটি ব্যবহার করেও গোল করা যায় স্কেল সঙ্গে মান 'বিসি' কমান্ড

উদাহরণ:

#!/বিন/ব্যাশ
# ভগ্নাংশ মান ছাড়াই বিভাগ গণনা করুন
বের করে দিল '39 / 7 ' | বিসি

# সম্পূর্ণ ভগ্নাংশের মান দিয়ে বিভাগ গণনা করুন
বের করে দিল '39 / 7 ' | বিসি -দ্য

# দশমিক বিন্দুর পরে তিন অঙ্ক দিয়ে বিভাজন গণনা করুন
বের করে দিল 'স্কেল = 3; 39/7 ' | বিসি

#27। আপনি কিভাবে একটি ফাইলের একটি নির্দিষ্ট লাইন bash এ মুদ্রণ করতে পারেন?

ব্যাশে একটি নির্দিষ্ট লাইন প্রিন্ট করার অনেক উপায় আছে। কিভাবে 'awk', 'sed' এবং 'লেজ' bash এ একটি ফাইলের একটি নির্দিষ্ট লাইন প্রিন্ট করার জন্য কমান্ড ব্যবহার করা যেতে পারে নিম্নলিখিত উদাহরণে দেখানো হয়েছে।

উদাহরণ:

#!/বিন/ব্যাশ

# NR ভেরিয়েবলের সাথে `awk` কমান্ড ব্যবহার করে ফাইল থেকে প্রথম লাইনটি পড়ুন এবং সংরক্ষণ করুন
লাইন 1='awk '{যদি (NR == 1) $ 0} মুদ্রণ করুন'course.txt'
# লাইনটি প্রিন্ট করুন
বের করে দিল $ লাইন 1

# -N বিকল্পের সাথে `sed` কমান্ড ব্যবহার করে ফাইল থেকে দ্বিতীয় লাইনটি পড়ুন
লাইন 2='sed -এন2p course.txt'
# লাইনটি প্রিন্ট করুন
বের করে দিল $ লাইন 2

# -N বিকল্পের সাথে `tail` কমান্ড ব্যবহার করে ফাইল থেকে শেষ লাইনটি পড়ুন
লাইন 3='লেজ -এন course.txt'
# ফাইলটি প্রিন্ট করুন
বের করে দিল $ লাইন 3

#28। IFS কি?

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

উদাহরণ:

#!/বিন/ব্যাশ
# ডিক্লেয়ার ':' টেক্সট বিভক্ত করার জন্য ডিলিমিটার হিসাবে
আইএফএস=':'
# টেক্সটের জন্য ':' দিয়ে টেক্সট ডেটা বরাদ্দ করুন
পাঠ্য='লাল: সবুজ: নীল'
# for loop IFS- এর উপর ভিত্তি করে টেক্সট বিভক্ত করার পর প্রতিটি শব্দ পড়বে
জন্যঘন্টাভিতরে $ টেক্সট;কর
# শব্দটি প্রিন্ট করুন
বের করে দিল $ ঘন্টা
সম্পন্ন

#২ 29। কিভাবে একটি স্ট্রিং তথ্য দৈর্ঘ্য খুঁজে বের করতে?

'Expr', 'wc' এবং 'আউক' bash এ একটি স্ট্রিং ডেটার দৈর্ঘ্য জানতে কমান্ড ব্যবহার করা যেতে পারে। 'এক্সপিআর' এবং 'আউক' কমান্ড ব্যবহার দৈর্ঘ্য বিকল্প, 'Wc' কমান্ড ব্যবহার করে '-সি' স্ট্রিং এর দৈর্ঘ্য গণনা করার বিকল্প।

উদাহরণ:

উপরের কমান্ডের ব্যবহার নিম্নলিখিত স্ক্রিপ্টে দেখানো হয়েছে।

#!/বিন/ব্যাশ
# দৈর্ঘ্য গণনা করুন `expr` length বিকল্প ব্যবহার করে
বের করে দিল 'এক্সপ্রেসদৈর্ঘ্য'আমি পিএইচপি পছন্দ করি''
# Wc` কমান্ড ব্যবহার করে দৈর্ঘ্য গণনা করুন
বের করে দিল 'আমি বাশ পছন্দ করি' | wc -সি
# Awk` কমান্ড ব্যবহার করে দৈর্ঘ্য গণনা করুন
বের করে দিল 'আমি পাইথন পছন্দ করি' | awk '{মুদ্রণের দৈর্ঘ্য}'

#30। কিভাবে সমান্তরালে একাধিক বাশ স্ক্রিপ্ট চালানো যায়?

একাধিক ব্যাশ স্ক্রিপ্ট ব্যবহার করে সমান্তরালভাবে চালানো যেতে পারে nohup কমান্ড কিভাবে একটি ফোল্ডার থেকে সমান্তরালে একাধিক ব্যাশ ফাইল চালানো যায় তা নিচের উদাহরণে দেখানো হয়েছে।

উদাহরণ:

# $ Dir ভেরিয়েবলের পথের সাথে একটি ফোল্ডারের নাম বরাদ্দ করুন
# একাধিক ব্যাশ ফাইল
তোমাকে='হোম/উবুন্টু/টেম্প'

# ফর লুপ ডিরেক্টরি থেকে প্রতিটি ফাইল পড়বে এবং সমান্তরালভাবে চালাবে
জন্যলিপিভিতরেতোমাকে/ *.sh
কর
nohup বাশ '$ স্ক্রিপ্ট' &
সম্পন্ন

উপসংহার:

ব্যাশ প্রোগ্রামার হিসেবে ক্যারিয়ার শুরু করতে চান এমন পাঠকদের জন্য বেশিরভাগ মৌলিক ব্যাশ স্ক্রিপ্ট ইন্টারভিউ প্রশ্ন এই নিবন্ধে বর্ণিত হয়েছে।