** লগইন ** শেল ** লগইনবিহীন ** শেল কেন?


24

আমার কাছে * নিক্স সিস্টেমে ডটফাইলগুলির প্রাথমিক ধারণা রয়েছে । লগইন শেল এবং নন-লগইন শেলের মধ্যে এই পার্থক্যটি সম্পর্কে আমি এখনও যথেষ্ট বিভ্রান্ত ?

বিভিন্ন উত্তরের একগুচ্ছ (একাধিক সদৃশ সহ) ইতিমধ্যে নিম্নলিখিত বুলেটগুলিকে সম্বোধন করেছে:

  • কিভাবে ডাকা একটি লগইন অথবা অ লগইন শেল
  • কিভাবে সনাক্ত একটি লগইন অথবা অ লগইন শেল
  • লগইন বা নন-লগইন শেল দ্বারা কী স্টার্টআপ ফাইলগুলি গ্রাস করা হবে
  • man bashআরও বিশদ জন্য ডকুমেন্টেশন (যেমন, ) উল্লেখ

উত্তরগুলি কী বলেনি (এবং এমন কিছু যা আমি এখনও বিভ্রান্ত করছি) তা হ'ল:

  • কি ব্যবহারের ক্ষেত্রে একটি এর লগ-ইন বা অ লগইন শেল? (যেমন, আমি শুধু কনফিগার zshrcজন্য zshএবং যে সবচেয়ে ব্যক্তিগত দেব প্রয়োজন জন্য যথেষ্ট, আমি জানি এটা কি হিসাবে সহজ হিসাবে নয় vimrcথেকে vim)

  • কি কারণে ব্যবহার করতে লগইন বেশি অ লগইন (বিভিন্ন প্রারম্ভকালে ফাইল & জীবন চক্র গ্রাসকারী পাশে) শেল?

উত্তর:


15

ধারণাটি হ'ল কোনও ব্যবহারকারীর প্রতি হোস্টে (সর্বাধিক) একটি লগইন শেল থাকা উচিত। (সম্ভবত আমার বলা উচিত, প্রতি টার্মিনাল প্রতি হোস্টের জন্য একটি লগইন শেল - আপনি যদি একসাথে একাধিক টার্মিনালের মাধ্যমে কোনও হোস্টে লগইন করেন তবে আপনি একাধিক লগইন শেল রাখার প্রত্যাশা করবেন)) এটি সাধারণত (সর্বদা?) আপনি পাবেন প্রথম শেল would লগ ইন করার পরে (তাই নাম)। সুতরাং, এই স্কিমটি আপনাকে সেই ক্রিয়াগুলি নির্দিষ্ট করতে দেয় যা আপনি লগইন প্রতি একবারই ঘটতে চান এবং আপনি যখনই নতুন (ইন্টারেক্টিভ) শেল শুরু করেন তখন জিনিসগুলি আপনি ঘটতে চান।

সাধারণত, লগ ইন করার পরে আপনি চালিত প্রতিটি অন্যান্য শেল লগইন শেলের বংশধর (একটি সন্তানের সন্তানের একটি শিশু ...) হবে এবং সুতরাং লগইন শেল থেকে অনেক সেটিংস (পরিবেশের পরিবর্তনগুলি umask, ইত্যাদি) উত্তরাধিকার সূত্রে প্রাপ্ত হবে । এবং, তদনুসারে, ধারণাটি হ'ল লগইন সূচনা ফাইলগুলি ( .login, .profileইত্যাদি) উত্তরাধিকারসূত্রে সেটিংগুলি সেট করা উচিত এবং .bashrc(বা অন্য যে কোনও কিছুই আপনি ব্যবহার করুন) যেগুলি ( set,, shoptএক্সপোর্ট করা শেল ভেরিয়েবল নয়) পরিচালনা করে ইত্যাদি)

আর একটি ধারণা হ'ল লগইন সূচনা ফাইলগুলি (এবং কেবলমাত্র তাদের) "ভারী উত্তোলন" করা উচিত, অর্থাত্ সংস্থান-নিবিড় ক্রিয়াকলাপ। উদাহরণস্বরূপ, আপনি যখনই লগ ইন করেছেন (আপনি কেবলমাত্র একটি অনুলিপি (উদাহরণ)) পটভূমিতে কিছু প্রক্রিয়া চলমান থাকতে পারেন। আপনি লগইন করার সময় কিছু স্থিতির তথ্য (যেমন, dfবা who) প্রদর্শিত হতে পারে , তবে প্রতিবার নতুন ইন্টারেক্টিভ শেল শুরু করার সময় নয়। বিশেষত আপনার যদি ইন্টারেক্টিভ থাকেপ্রোগ্রাম / ডায়ালগ (যেমন, আপনার কাছ থেকে ইনপুট দাবি করে এমন একটি) যা আপনি যখনই লগইন করেন প্রতিবার চালাতে চান, আপনি যখনই নতুন শেল শুরু করবেন তখন আপনি সম্ভবত এটি চালাতে চান না। চরম উদাহরণ হিসাবে, বিশ বছর আগে সোলারিস আপনাকে একটি একক, অ-গ্রাফিকাল, উইন্ডোযুক্ত শেলটিতে লগ ইন করেছিল। (আমি বিশ্বাস করি যে এটির পরে এটির পরিবর্তিত হয়েছে) ) উইন্ডোটিং সিস্টেমটি চালু করা .loginবা .profile(বা যাই হোক না কেন) কাজ ছিল , যেমন একটি কমান্ড দিয়ে startx। (এটি আংশিকভাবে কার্যকর ছিল কারণ একাধিক উইন্ডোটিং সিস্টেম উপলব্ধ ছিল। বিভিন্ন ব্যবহারকারীর বিভিন্ন পছন্দ ছিল Some কিছু ব্যবহারকারী বিভিন্ন পরিস্থিতিতে বিভিন্ন সিস্টেম ব্যবহার করেছিলেন এবং আমাদের মধ্যে একটি ডায়ালগ ছিল .profileযা "আপনি আজ কোন উইন্ডোটিং সিস্টেমটি ব্যবহার করতে চান?") জিজ্ঞাসা করেছিল স্পষ্টতই, আপনি যখনই নতুন উইন্ডো খুলবেন বা টাইপ করবেন তখনই আপনি এটি চালাবেন নাsh

যুগে যুগে আমি bash প্রান্তের কেস বাদে অন্য কিছু ব্যবহার করেছি । (উদাহরণস্বরূপ, আমি স্ক্রিপ্টগুলি দিয়ে লিখি #!/bin/sh, তাই কিছু সিস্টেমে আমার স্ক্রিপ্টগুলি চালিত হয় dashএবং অন্যদের সাথে তারা bashপসিক্স মোডে চালায় । আমি কীভাবে কিছু পরিচালনা করি তা দেখতে বছরে কয়েকবার csh/ tcshকয়েক মিনিট চালনা করি বা কীভাবে একটি প্রশ্নের উত্তর দিন।) আপনি যদি প্রতিদিন একাধিক শেল (যেমন, bashএবং zsh) ব্যবহার করেন তবে আপনার ধরণগুলি আলাদা হতে পারে। যদি আপনার প্রাথমিক শেলটি (হিসাবে সংজ্ঞায়িত করা হয় /etc/passwd) হয় bash, আপনি zshলগইন শেলটি করতে চাইতে পারেন এবং তারপরে সম্ভবত কিছু ইন্টারেক্টিভ অ-লগইন zshশেলগুলি এর অধীনস্থ করতে অনুরোধ করতে পারেন। আপনার সম্ভবত একটি লগইন শেল থাকা এড়ানো উচিত যা একই ধরণের অন্য একটি লগইন শেলের অধীনস্থ।

লগইন শেল এবং নন-লগইন শেলের মধ্যে পার্থক্য হিসাবে উল্লেখ করা হয়েছে ? ওএস এক্স টার্মিনাল অ্যাপ্লিকেশনটি একটি লগইন শেল চালায়, তাই একজন সাধারণ ব্যবহারকারীর সাধারণত বেশ কয়েকটি "লগইন শেল" একই সাথে চলতে থাকে। এটি আমি উপরে বর্ণিত একটি থেকে কিছুটা আলাদা মডেল এবং ব্যবহারকারীর নিজের .loginবা তার মধ্যে কী কী তা পুনর্বিবেচনা করার প্রয়োজন হতে পারে.profile(বা যাই হোক না কেন) ফাইল। ওএস এক্স বিকাশকারীরা এই নকশার সিদ্ধান্তের জন্য তাদের যুক্তি দলিল করেছে কিনা তা আমি জানি না। তবে আমি এমন একটি পরিস্থিতি কল্পনা করতে পারি যেখানে এটি কার্যকর হবে। এমন একটি সময় ছিল যখন আমি লগ ইন করার সময় অভ্যাসগতভাবে কয়েকটি মুঠো শেল উইন্ডো খুলতাম এবং আমি কোনটি ছিল তা ট্র্যাক রাখতে সহায়তা করতে আমি তাদের বিভিন্ন পাঠ্য এবং পটভূমির রঙগুলিতে (স্ক্রিনে এএনএসআই এস্কেপ সিকোয়েন্স লিখে) সেট করে দিতাম। টার্মিনাল রঙগুলি এমন কিছুর উদাহরণ যা বাচ্চাদের সন্তানদের দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত হয় না, তবে এটি একটি উইন্ডোতে অবিচল থাকে। সুতরাং আপনি প্রতিটি নতুন টার্মিনাল উইন্ডোটি শুরু করার সময় প্রতিটা কাজটি করতে চাইছেন তবে প্রতিবার নতুন ইন্টারেক্টিভ শেলটি শুরু করার সময় নয় start

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.