ডিফল্ট শেল হিসাবে সিএসএস থেকে ব্যাশে কীভাবে পরিবর্তন করবেন


34

আমার কাছে cshআমার ডিফল্ট শেল রয়েছে, যেমন দেখানো হয়েছে echo $SHELL। আমি bashআমার ডিফল্ট শেল হিসাবে যেতে চাই আমি নিম্নলিখিত পন্থাগুলি চেষ্টা করেছিলাম কোনও লাভ হয়নি:

  1. সাথে chshআমি পেয়েছি:

    chsh: can only change local entries; use ypchsh instead.
  2. সাথে ypchshআমি পেয়েছি:

    ypchsh: yppasswdd not running on NIS master host ("dcsun2").

আমার কেবল .chsrcআমার হোম ডিরেক্টরিতে রয়েছে এবং আমি কোনও .profileফাইল খুঁজে পাই না /etc। আমি কীভাবে আমার ডিফল্ট শেলটি এতে পরিবর্তন করতে পারি bash?


4
আপনি কোন ধরণের ইউনিক্স রয়েছেন তা জানার জন্য এটি দরকারী হতে পারে।
এনজোটিব

উত্তর:


43
  1. আপনি bashইনস্টল করেছেন তা নিশ্চিত করুন ।

  2. এর অবস্থান শিখুন bash:

    which bash

    অথবা

    whereis bash

    নীচে, আমি অবস্থানটি ধরে নেব /bin/bash

    ক) যদি আপনার প্রশাসনিক অধিকার থাকে তবে কেবল মূল হিসাবে চালান:

    usermod -s /bin/bash YOUR_USERNAME

    ( YOUR_USERNAMEআপনার ব্যবহারকারীর নামের সাথে প্রতিস্থাপন )।

    খ) আপনার যদি অ্যাড না থাকে। অধিকার, আপনি কি এখনও ঠিক চালাতে পারেন bash --loginলগ-ইন এ লাইনের নিচে রেখে শেষে আপনার .cshrcবা .profile(আপনার home ডিরেক্টরিতে):

    setenv SHELL /bin/bash
    exec /bin/bash --login

2b। সঠিক পথ দিয়ে bashগণনা করা হয়েছে কিনা তা পরীক্ষা করুন /etc/shells
manatwork

@ মান্যাট ওয়ার্ক এটি 2 বি নয়, 2 এ জন্য প্রাসঙ্গিক হবে । এবং সমাধানটি কেন কাজ করে না তা নির্ধারণের জন্য শুধুমাত্র একটি অদ্ভুত / ভাঙ্গা সিস্টেম সেটআপে কার্যকর।
rozcietrzewiacz

1
1. শেল = / বিন / ব্যাশ ত্রুটি পাওয়া যায় না এমন একটি আদেশ দেয়। ২. আপনার সমাধান আমাকে প্রম্পট হিসাবে বাশ শেল দেয়। তবে এটি আমার লগইন শেল পরিবর্তন করে না। তবুও সাহায্যের জন্য ধন্যবাদ।
সুমোদ

1
এটি সমাধানের জন্য আমি যা করেছি তা এখানে। 1. .cshrc ফাইলে এক্সিকিউট / বিন / ব্যাশ - লগিন ২। শেল = / বিন / ব্যাশ সেট করুন এবং তারপরে / ইত্যাদি / প্রোফাইল ফাইলে শেল রফতানি করুন। ধন্যবাদ।
সুমোদ

2
আহ, দুঃখিত - আমি প্রথম লাইনটি বোঝাতে চাইছি export SHELL=/bin/bash। আসলে এর চেয়ে আরও ভাল উপায় আছে - আপডেট দেখুন।
rozcietrzewiacz

13

আপনার সিস্টেম প্রশাসকের সাথে যোগাযোগ করুন। তিনি জিনিসগুলি সেট আপ করেছেন। আপনি যদি আপনার সিস্টেম প্রশাসক হন তবে আপনি জিনিসগুলিকে ভুল সেট আপ করেছেন।

ত্রুটি বার্তাটি বেশ সোজা সামনে দেখায়। আপনার yppasswddcsun2 এ চলছে না । এটা করা উচিত.

তবে দ্রুত গুগল অনুসন্ধান করলে এই ফলাফলটি উপস্থিত হয় যা ইঙ্গিত দেয় যে yppasswdক্লায়েন্ট এবং সার্ভার উভয় ক্ষেত্রেই চলতে থাকলে আপনি এই ত্রুটিটি পেয়ে যাবেন । এই ক্ষেত্রে এটি ক্লায়েন্ট বন্ধ করুন।


আপনি যদি আপনার লগইন শেল হিসাবে সিএসএসের সাথে আটকে থাকেন তবে আপনি লগ ইন করার সময় এটিকে বাশ ডেকে আনতে পারেন the নিম্নলিখিত কমান্ডগুলিকে আপনার মধ্যে রাখুন ~/.login( chsh বা প্রশাসকের গোপনীয়তা ছাড়াই ডিফল্ট শেল পরিবর্তন করাও দেখুন ):

sleep 2
if (-x /usr/local/bin/bash) then
  exec /usr/local/bin/bash -l
endif

/usr/local/bin/bashপ্রয়োজনে সঠিক পথে প্রতিস্থাপন করুন । যদি সমস্ত কিছু কাজ করে তবে সরান sleep 2(যা কোনও বিলম্ব ঘটায় সেই সময়ের মধ্যে আপনি Ctrl+Cকোনও সিএস প্রম্পটে ফেলে দিতে চাপতে পারেন )।

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