লগইন বা লগ-ইন না করেই কি কোনও বাশ ফাইলটি সবসময় ইন্টারেক্টিভ মোডে উত্সাহিত হবে?


10

যতদূর আমি জানি, ইন্টারেক্টিভ শেলগুলি লগইন হতে পারে বা লগইন নাও হতে পারে এবং তাদের জন্য প্রারম্ভ ফাইলগুলি আলাদা।

  • তাহলে ইন্টারেক্টিভ + + লগইন শেল → /etc/profileতারপর প্রথম পাঠযোগ্য ~/.bash_profile, ~/.bash_loginএবং~/.profile
  • যদি ইন্টারেক্টিভ + নন-লগইন শেল → /etc/bash.bashrcতবে~/.bashrc

আমি যখনই ইন্টারেক্টিভ শেলটি লগইন শেল কিনা তা বিবেচনা না করেই প্রতিবার কিছু পরিবর্তনশীল সেট করতে চাই।



1
@ মাসজি না, এই প্রশ্নটি পরিবেশের ভেরিয়েবল সম্পর্কে নয়।
গিলস 23'15 এ 'দুষ্ট হওয়া বন্ধ করুন'

@ গিলস হ্যাঁ, তবে আপনার উত্তরটি একইভাবে কার্যকর হয়।
strugee

1
@ ম্যাগজি এর কারণ আমি তাত্ক্ষণিক প্রশ্নের বাইরে গিয়ে পেরিফেরিয়াল বিষয়ে স্পর্শ করেছি। একটি উত্তরের একটি অনুচ্ছেদ নকল তৈরি করে না। যদি উত্তরগুলিতে দ্বিতীয়টির উত্তর দেওয়ার মতো পর্যাপ্ত উপাদান থাকে তবে তা নয় তবে প্রশ্নগুলি কেবল নকল হয় answers
গিলস 23'20 এ 'খারাপ হওয়া বন্ধ করুন'

উত্তর:


10

না, নেই। হ্যাঁ, এটি একটি ডিজাইনের ত্রুটি।

নিম্নলিখিত বিষয়বস্তু এতে ব্যবহার করুন ~/.bash_profile:

if [ -e ~/.profile ]; then . ~/.profile; fi
if [[ -e ~/.bashrc && $- = *i* ]]; then . ~/.bashrc; fi

সতর্ক থাকুন যে ব্যাশ একটি এমনকি weirder ছল আছে: যখন এটি একটি নন-ইন্টারেক্টিভ লগ-ইন শেল এবং পিতা বা মাতা প্রক্রিয়া rshdবা sshd, ব্যাশ সূত্র ~/.bashrc(কিন্তু ~/.bash_profileবা ~/.profile)। সুতরাং আপনি এটি আপনার শীর্ষে রাখতে চান .bashrc:

if [[ $- != *i* ]]; then return; fi

.Bashrc এবং .bash_profile এর মধ্যে পার্থক্য এবং লগইন শেল এবং নন-লগইন শেলের মধ্যে পার্থক্যটি দেখুন ?


এই quirks সুরক্ষা কারণে (সুরক্ষা-সংবেদনশীল সেটিং চলমান যখন অপ্রত্যাশিত ফাইল লোড করবেন না)।
ভোনব্র্যান্ড

2
@ ভনব্র্যান্ড এর, কি? না, এই quirks সুরক্ষার সাথে একেবারে কিছুই করার নেই। এতে কোনও "অপ্রত্যাশিত ফাইল" জড়িত নেই (ব্যতীত .bashrcইন্টারঅ্যাকটিভ সেটিং-এ লোড করা ভালভাবে অপ্রত্যাশিত হিসাবে গণ্য হতে পারে) বা সুরক্ষা-সংবেদনশীল প্রসঙ্গে কোনও চেক নেই।
গিলস 'অশুচি হওয়া বন্ধ করুন'

লুপগুলি রোধ করার কী এই পদ্ধতি আছে?
ব্রায়াম

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