Skip to main content

একটি লিনাক্স শেল এবং শেল স্তর কি কি?

লিনাক্স শেল পরিবর্তন (জুন 2025)

লিনাক্স শেল পরিবর্তন (জুন 2025)
Anonim

$ SHLVL পরিবর্তনশীল আপনি কত গভীর শেল আপনাকে বলতে ব্যবহার করা হয়। আপনি যদি এই দ্বারা বিভ্রান্ত হন তবে এটি শুরুতে শুরু করার যোগ্য।

একটি শেল কি?

একটি শেল কমান্ড নেয় এবং সঞ্চালনের জন্য অন্তর্নিহিত অপারেটিং সিস্টেমকে দেয়। বেশিরভাগ লিনাক্স সিস্টেমে শেল প্রোগ্রামটি বাএএসএইচ (দ্য বোর্ন এগেন শেল) বলা হয় তবে সি শেল (টিসিএসএইচ) এবং KORN শেল (কেএসএস) সহ অন্যান্য পাওয়া যায়।

কিভাবে Linux শেল অ্যাক্সেস করতে

সাধারণত, একজন ব্যবহারকারী হিসাবে আপনি শেল প্রোগ্রামের সাথে একটি টার্মিনাল এমুলেশন প্রোগ্রাম যেমন XTerm, কনসোল অথবা গনোম-টার্মিনাল ব্যবহার করে যোগাযোগ করেন।

আপনি যদি উইন্ডোজ ম্যানেজার যেমন ওপেনবক্স অথবা ডেস্কটপ এনভায়রনমেন্ট যেমন গনোম বা কেডি ব্যবহার করেন তবে আপনি একটি মেনু বা ড্যাশ থেকে একটি টার্মিনাল এমুলেটর পাবেন। অনেক সিস্টেমে, শর্টকাট CTRL ALT এবং T পাশাপাশি একটি টার্মিনাল উইন্ডো খুলবে।

অন্যথায়, আপনি অন্য টিটিই (টেলেপাইপ্রিটার) -এ স্যুইচ করতে পারেন যা একটি কমান্ড লাইন শেলের সরাসরি অ্যাক্সেস সরবরাহ করে। আপনি CTRL ALT এবং F1 বা CTRL ALT এবং F2 ইত্যাদি চাপিয়ে এটি করতে পারেন।

একটি শেল স্তর কি

শেলের মধ্যে কমান্ড চালানোর সময় এটি শেল স্তরের নামে কিছু সঞ্চালিত হয়। একটি শেলের মধ্যে, আপনি অন্য শেলটি খুলতে পারেন যা এটি একটি শেলহেল বা শেলটি খোলার জন্য তৈরি করে।

অতএব অভিভাবক শেল সম্ভবত লেভেল 1 শেল হিসাবে বিবেচিত হবে এবং শিশু শেলটি একটি স্তর 2 শেল হবে।

কিভাবে শেল স্তর প্রদর্শন করতে

আর্টিকেলের শিরোনামের উপর ভিত্তি করে এটি কোন অবাক হওয়া উচিত নয় যে শেল স্তরটি আপনি যে SHLVL পরিবর্তনশীলটি ব্যবহার করে চলছেন তা আপনি বলতে পারেন।

আপনি বর্তমানে চলমান শেল স্তরটি দেখতে নিম্নলিখিতটি টাইপ করুন:

$ SHLVL প্রতিধ্বনি

বরং যদি আপনি উপরের টার্মিনাল উইন্ডোতে উপরের কমান্ডটি চালান তবে আপনি অবাক হয়ে দেখবেন যে ফলাফলটি ২।

যদি আপনি tty ব্যবহার করে একই কমান্ড চালান তবে ফলাফলটি 1।

কেন এই ক্ষেত্রে আপনি জিজ্ঞাসা করতে পারেন? ওয়েল আপনি চলমান ডেস্কটপ পরিবেশ একটি শেল শীর্ষে চালানো হচ্ছে। যে শেলটি স্তর 1 হবে। যে ডেস্কটপ পরিবেশের মধ্যে থেকে আপনি যে কোনও টার্মিনাল উইন্ডো খুলতে চান সেটি শেলের একটি শিশু হতে হবে যা ডেস্কটপ পরিবেশটি খোলে এবং তাই শেল স্তর 2 এর থেকে অন্য কোনও নম্বরতে শুরু হতে পারে না।

TTY একটি ডেস্কটপ পরিবেশ চলমান হয় না এবং তাই সহজভাবে একটি স্তর 1 শেল হয়।

কিভাবে Subshells তৈরি করতে

নিম্নরূপ শেল এবং subshells ধারণা পরীক্ষা করার সবচেয়ে সহজ উপায়। একটি টার্মিনাল উইন্ডো খুলুন এবং নিম্নলিখিত টাইপ করুন:

$ SHLVL প্রতিধ্বনি

আমরা একটি টার্মিনাল উইন্ডো থেকে জানি হিসাবে সর্বনিম্ন শেল স্তর 2 হয়।

এখন টার্মিনাল উইন্ডোতে নিম্নলিখিত টাইপ করুন:

SH

Sh কমান্ডটি নিজেই একটি ইন্টারেক্টিভ শেল চালায় যার অর্থ আপনি শেল বা সাবসেলে শেল ব্যবহার করছেন।

আপনি এখন আবার টাইপ করুন:

$ SHLVL প্রতিধ্বনি

শেল স্তরটি 3 তে সেট হবে তা দেখতে পাবেন। শেলহেলের মধ্যে থেকে sh কমান্ডটি সর্বশ্রেষ্ঠের একটি নিম্নস্তর খুলবে এবং শেল স্তরটি স্তর 4 এ থাকবে।

কেন শেল স্তর গুরুত্বপূর্ণ?

আপনার স্ক্রিপ্টের ভেরিয়েবলগুলির সুযোগ সম্পর্কে চিন্তা করার সময় শেল স্তরটি গুরুত্বপূর্ণ।

আসুন সহজ কিছু দিয়ে শুরু করি:

কুকুর = Maisie$ কুকুর প্রতিধ্বনি

যদি আপনি উপরের শব্দের শেলে রান করেন তবে শব্দ মেসি টার্মিনাল উইন্ডোতে প্রদর্শিত হবে।

নিম্নলিখিত টাইপ করে একটি নতুন শেল খুলুন:

SH

আপনি যদি এই কমান্ডটি চালান তবে আপনি দেখতে পাবেন যে আসলে কিছুই ফেরত দেওয়া হয়নি:

$ কুকুর প্রতিধ্বনি

যেহেতু $ কুকুর পরিবর্তনশীল শুধুমাত্র শেল স্তর 2 এ উপলব্ধ। যদি আপনি উপশহর থেকে প্রস্থান করার জন্য প্রস্থান টাইপ করেন এবং $ কুকুর আবার প্রতিধ্বনি চালান তবে মেসি আবার শব্দটি প্রদর্শিত হবে।

শেলের মধ্যে বৈশ্বিক ভেরিয়েবলের আচরণ সম্পর্কে চিন্তা করাও মূল্যবান।

একটি নতুন টার্মিনাল উইন্ডো বন্ধ করুন এবং নিম্নলিখিত টাইপ করুন:

রপ্তানি কুকুর = মেসি$ কুকুর প্রতিধ্বনি

আপনি মেসি শব্দ প্রদর্শিত হবে আশা করি। এখন একটি subshell খুলুন এবং আবার $ কুকুর echo টাইপ করুন। এই সময় আপনি দেখতে পাবেন যে মেসি শব্দটি একটি উপশিলে থাকলেও প্রদর্শিত হবে।

এর কারণ হল রপ্তানি কমান্ডটি $ কুকুর পরিবর্তনশীল বিশ্বব্যাপী তৈরি করেছে। আপনি যদি কমান্ড কমান্ডটি ব্যবহার করে থাকেন তবে $ শুরুর $ কুকুর পরিবর্তনশীলটি তার পিতামাতার শেলগুলিতে কোনও প্রভাব ফেলবে না।

আশা করি এই থেকে আপনি স্ক্রিপ্ট লেখার সময় যে শেল স্তরের কাজ করছেন তা জানাতে পারেন।

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