আপনি যখন লগইন করেন তখন একটি শেল শুরু হয়, তবে এটি যেমন makeবা আপনি যখন শেল স্ক্রিপ্টটি চালাচ্ছেন বা টাইপ করার সময় প্রোগ্রাম দ্বারা শুরু হয়:sh করেন viবা যখন আপনি একটি নতুন টার্মিনাল উইন্ডো তৈরি করেন তখন ।
মূলত, আপনি ~/.profileযখন লগ ইন করেন বা দৌড়েন তখন শেলটি পড়বে su। এই স্ক্রিপ্টটি আপনার নতুন ইমেল রয়েছে কিনা তা ঘোষণা করার মতো কাজ করবে, নিজের মুছা কাস্টমাইজ করবে এবং অক্ষরগুলি মেরে ফেলবে এবং TERM এবং PATH ভেরিয়েবল সেট করবে এবং রফতানি করবে। প্রায় অন্য যে কোনও প্রসঙ্গে শুরু করা হলে, শেলটি পড়েনি ~/.profile, কারণ এই জিনিসগুলির বেশিরভাগটি করা অতিরিক্ত কাজ হবে। আপনি আশা করেছিলেন যে নতুন শেলটিতে কোনও গুরুত্বপূর্ণ শেল ভেরিয়েবল রফতানি হয়েছে।
শেলটি যেভাবে পড়তে পারে তা জানছিল যে ওরফে ~/.profileপ্রথম চরিত্রটি ছিল কিনা তা পরীক্ষা করা ।argv[0]$0'-'
দিয়ে শুরু করে csh, এলিয়াস চালু করা হয়েছিল। এলিয়াসগুলি পরিবেশে রফতানি করা হয়নি। cshদুটি পৃথক সূচনা স্ক্রিপ্টে পড়ার জন্য ডিজাইন করা হয়েছিল। ~/.loginকোনও ব্যবহারকারী যখন লগ ইন করেছিলেন কেবল তখনই পড়া হয়েছিল এবং এটি argv[0]শুরু করার সাথে সাথে কিউটি করা উচিত '-'। ~/.cshrcশেলটি শুরু হওয়ার পরে প্রতিবার পড়া হয়েছিল। সাধারণভাবে, একটিতে এলিয়াস স্থাপন করা হয় ~/.cshrcএবং সমস্ত কিছু ~/.login। cshএছাড়াও সমর্থিত ~/.logout, যা বেশিরভাগ ক্ষেত্রে সবে স্ক্রিন সাফ করে দৌড়ে fortune।
অন্যান্য শেলগুলি একই বৈশিষ্ট্যগুলি গ্রহণ করেছে। kshপড়তে পারে ~/.kshrc, bashপড়তে হবে ~/.bashrc, এবং আপনি যেখানে আপনার উরফ সংজ্ঞা স্থাপন করেছেন সেগুলি ছিল।
সুতরাং, একটি দীর্ঘ গল্প সংক্ষিপ্ত করতে, অ্যাপ্লিকেশনটি যে শেলটি আবিষ্কার করে এটি "লগইন শেল" হওয়া উচিত কিনা তা সিদ্ধান্ত নিতে পারে, সেই ক্ষেত্রে এটি আছে '-' এটি শুরুতে বা নিয়মিত শেল ছিল। বেশিরভাগ ক্ষেত্রে, একটি শেল যা ইন্টারেক্টিভ হতে চলেছে তা লগইন শেল হিসাবে শুরু হয়, এবং একটি শেলটি কেবলমাত্র কয়েকটি কমান্ড চালিত করতে পারে, হয় আর্গুমেন্ট হিসাবে বা স্ক্রিপ্ট থেকে, এবং তারপরে প্রস্থানটি নিয়মিত শেল হয়।
তবে শেলটি শুরু হওয়া অ্যাপ্লিকেশনের ঝাঁকুনির উপর নির্ভর করে এটি।