মূল হিসাবে লগ ইন করার সময় স্বতঃপূরণ কাজ করে না


23

আমি সবেমাত্র এমন কিছু এলাম যা সত্যিই আমাকে বিরক্ত করছে। উবুন্টুতে স্বতঃপূরণ একটি কবজির মতো কাজ করে তবে আমি যখন রুট হিসাবে লগইন suকরি , যেমন আমি tabকেবল কখনও কখনও স্বতঃপূরণ পাই ।

কেন এটি এমন কাজ করে? কেউ কি তা পরিবর্তন করতে পারে?


আপনি কি মূল হিসাবে লগ ইন করছেন, বা sudo su ব্যবহার করছেন?
মার্টি ফ্রাইড

@MartyFried হ্যাঁ, আমি diong করছি sudo su। পার্থক্য কি?
প্যাট্রিক

এটি আমার পক্ষে কাজ করে বলে মনে হচ্ছে, আপনি যখন আমাদের কাজ করে না তার একটি নির্দিষ্ট উদাহরণ সরবরাহ করতে পারেন, যা আমরা অনুলিপি করতে পারি।
ste_kwr

1
@ লর্ডমনকি: সম্ভবত কেউই না, আমি সত্যই নিশ্চিত নই। আমি মনে করি su বা sudo su নিজেই কিছুটা আলাদা যা আমার মনে নেই, তাই আমি নিশ্চিত করতে চেয়েছিলাম যে আমি এটি একই শর্তে পরীক্ষা করতে পারি। দেখে মনে হচ্ছে এটি কার্যকর হয়, তবে আপনি "কখনও কখনও" বলেছিলেন, তাই আমি কেবল আপনাকে ডাবল-চেক করার পরামর্শ দিয়েছি এবং এটি পুনরুত্পাদনযোগ্য করে তোলার চেষ্টা করতে পারি, বা কেবল নিশ্চিত করছি যে অন্যরকম কিছু ঘটেনি যা আপনাকে বোকা বানাচ্ছে - যেমন, ব্যবহারকারী ত্রুটি - আরে, এটা সবার সাথেই ঘটে! :)
মার্টি ফ্রাইড

উত্তর:


41

/root/.bashrcএই লাইনের জন্য আপনার ফাইল পরীক্ষা করুন

if [ -f /etc/bash_completion ]; then
  . /etc/bash_completion
fi

যদি এগুলির অস্তিত্ব না থাকে তবে আপনার পছন্দের পাঠ্য সম্পাদক ব্যবহার করে এটিকে ফাইলের শেষে যুক্ত করুন।


মাইন .বাশ্রাকে উল্লিখিত লাইনগুলি রয়েছে তবে সেগুলিতে মন্তব্য করা হয়েছিল; লাইনগুলি uncommented এবং নতুন .Bashrc উত্সাহিত; জিনিস এখন বেশ ভাল দেখাচ্ছে।
অঙ্কিত

bash_completionলাইন, আমার ক্ষেত্রে অন্তত আউট মন্তব্য করা হয়েছে, কারণ এটি দাবি bash_completionইতিমধ্যেই সক্রিয় করা হয় /etc/bash.bashrc, কিন্তু যে ফাইল এছাড়াও লাইন আউট মন্তব্য করে নি। etcফাইলটিকে আপত্তিহীন করার পরিবর্তে লাইনটি অসুবিধা করা ভাল /root/.bashrc
পেরিগ্রেং-এলকে

7

আপনি কোন উবুন্টু সংস্করণ ব্যবহার করেন তা উল্লেখ করেননি।

  • আপনি bash-completionপ্যাকেজ ইনস্টল করা আছে কিনা তা পরীক্ষা করুন :

    sudo apt-get install bash-completion
  • আমি ব্যবহার করে লগইন করলে খনি কাজ করে: sudo -i


রুটের .bashrc মুছে ফেলার কী দরকার?
গিরিহা

আমি মনে করি এটি পরবর্তী লগআউট / লগইন করার পরে ডিফল্ট .bashrc পুনরায় তৈরি করবে। অথবা সম্ভবত এটি স্বতঃপূরণ জন্য কিছু ধরণের "নিষ্ক্রিয়" থাকতে পারে (এটি সম্ভব কিনা তা জানেন না)। যদিও আমি লিখেছিলাম তার আসল কারণটি আমি মনে করতে পারি না।
স্যাভাস রাদেভিক

2
না, একটি নতুন তৈরি করা .bashrcহবে না, এবং /etc/bash_completionএটি উত্সাহিত করা হবে না, কেবল বাশের ডিফল্ট সমাপ্তি উপলব্ধ থাকবে।
গিরিহা

ঠিক আছে, সম্পাদিত এবং সরানো হয়েছে। আপনার সহযোগিতার জন্য ধন্যবাদ! যদিও আমি আশ্চর্য হই যে ~ / .bashrc কোনও ফাইলকে "উত্সাহিত" করতে পারে বা disable-completionএখনও উপলভ্য থাকলে: superuser.com/questions/37148/…
স্যাভাস রেডেভিক

3

উবুন্টু 13.10 এর /etc/bash.bashrcজন্য পরীক্ষা করে দেখুন

# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

তারা মন্তব্য করা হতে পারে। আন-মন্তব্য করা তাদের কাজ করে।


0

পাওয়া গেছে যে এটি কাজ করেছে (উপরের জবাবগুলির সাথে একই তবে একটি বাঁক সহ)

যে ফাইলটি সম্পাদনা করতে হবে (কমপক্ষে আমার ক্ষেত্রে 12.04 এর সাথে আছে) ছিল /root/.bashrc। আমার নিয়মিত ব্যবহারকারী কেবল সূক্ষ্মভাবে স্বয়ংক্রিয়ভাবে পূর্ণ হয়েছিলেন তবে আমার মূলটি তা হয়নি given

যাইহোক ফাইলটিতে আমি সমস্ত প্রয়োজনীয় কোডটি পেয়েছি তবে এটি মন্তব্য করা হয়েছিল:

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    #. /etc/bash_completion
#fi

এটি কেবল অ-মন্তব্য করেছে:

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

সংরক্ষণ করা হয়েছে, এবং এটি ঠিক কাজ করেছে।

আশা করি এটি কাউকে সাহায্য করবে।


0

লিনাক্স মিন্ট 18 এ (জেনিয়ালের উপর ভিত্তি করে) আপনাকে আপনার বাশার্কটি সম্পাদনা করতে হবে:

sudo nano /etc/bash.bashrc

এবং মন্তব্য করুন ( #প্রতিটি লাইনের সামনের অংশটি সরিয়ে দিন ):

if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
     . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
     . /etc/bash_completion
  fi
fi

এখানেই শেষ.

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