আমি কীভাবে অজানা শেল থেকে বাশে স্যুইচ করব?


41

আমি অবাক হয়ে গিয়েছিলাম যে আমি এই প্রশ্নটি ইতিমধ্যে সাইটে খুঁজে পাইনি। সুতরাং, $আমি নতুন ব্যবহারকারী হিসাবে লগ ইন করার পরে আজ উঠে এসেছে। এটি অপ্রত্যাশিত ছিল কারণ আমার প্রধান ব্যবহারকারীর প্রম্পটটি শুরু হয় username@computername:~$

সুতরাং, আমি কীভাবে এই অন্যান্য শেল থেকে বাশে স্যুইচ করব?


8
ঠিক কারণ $আসার পরিবর্তে এসেছিল username@computername:~$মানে এটি বাশ ছিল না। প্রম্পটের সঠিক ফর্ম্যাটিংটি PS1 ভেরিয়েবল দ্বারা সেট করা হয়, যা বিভিন্ন ব্যবহারকারীর জন্য সেটআপ বা আলাদাভাবে কাস্টমাইজ করা যায়।
উদ্ভট

3
@ মাউচে রে: echo $SHELLআপনার বর্তমান শেলটি কী তা জানতে @ ফ্রেজজুস
xenoterracide

1
@ মূছে @ ফ্র্যাভজাস এবং একটি with দিয়ে শুরু করা বাশের পক্ষে আসলে সাধারণ, zsh এর মতো কিছু নন-বাশ শেল বাক্সের বাইরে% ব্যবহার করে, আমি বিশ্বাস করি যে অন্যান্য শাঁস অন্যান্য জিনিস ব্যবহার করে।
xenoterracide

1
@ মৌচে থাকার /bin/shঅর্থ প্রায়শই অর্থ হয় না যে এটি সাধারণত অন্য কোনও কিছুর জন্য একটি সিমলিংক । আমি ls -l /bin/shএটি টাইপ করব যা এটিতে একটি সিমলিংক। কিছু ক্ষেত্রে কোনও কিছুর জন্য সিমিলিংক হওয়ার ফলে তার আচরণের পরিবর্তন ঘটে, আমি মনে করি না যে বাশ সেভাবে।
xenoterracide

3
@ এক্সেনোটেরাকাসাইড - bashহিসাবে অনেকগুলি ব্যাশ বৈশিষ্ট্য /bin/sh অক্ষম করে (এটি পক্সিক্স কমপ্লায়েন্স মোডে যায়)।
ক্রিস ডাউন

উত্তর:


61

অজানা শেলটি পরম কমান্ড চালাচ্ছে বলে ধরে নিলে আপনি চেষ্টা করতে পারেন: /bin/bash

ডিফল্ট শেল পরিবর্তন করতে, আমি ব্যবহার করব chsh(1)। নমুনা ব্যবহার:chsh -s /bin/bash $USER


1
Chsh স্থায়ীভাবে শেল পরিবর্তন করে বা কেবল বর্তমান অধিবেশনটির জন্য?
মাউছে

10
@ মূছে স্থায়ীভাবে; এটিতে আপনার এন্ট্রি পরিবর্তন করে/etc/passwd
মাইকেল মরোজেক

@ মউচে, chsh(1)কেবলমাত্র তালিকাভুক্ত শেলের পরিবর্তনের অনুমতি দেবে /etc/shells(এবং সম্ভবত এটি উপলব্ধ)। chsh -lবিকল্প তালিকা। সতর্কতা অবলম্বন করুন, কিছু (যেমন nologin) অ্যাকাউন্টগুলির জন্য সংজ্ঞায়িত হয়েছে যা কখনও লগইন করার জন্য ব্যবহার করা উচিত নয় (নিজেকে লক করার দুর্দান্ত উপায়), বিশেষ ব্যবহারের জন্য স্থানীয় সংযোজন থাকতে পারে।
ভনব্র্যান্ড

19

আপনি টাইপ করুন bash। আপনি যদি এটি চান স্থায়ীভাবে /bin/bashসম্পাদনা করে ডিফল্ট শেলটি পরিবর্তন করুন /etc/passwd

আমার কিছু স্নিপেট এখানে /etc/passwd:

avahi:x:84:84:Avahi daemon:/:/bin/false
xenoterracide:x:1000:100::/home/xenoterracide:/bin/zsh
postgres:x:88:88::/var/lib/postgres:/bin/zsh
bob:x:1001:1001::/home/bob:/bin/bash
usbmux:x:140:140:usbmux user:/:/sbin/nologin

একেবারে শেষ ক্ষেত্রটিতে শেল রয়েছে, :একটি বৈধ বা অবৈধ শেল থেকে শেষের পরে ক্ষেত্রটি পরিবর্তন করা কাজ করবে। /bin/falseএবং /sbin/nologinউভয়ের অর্থ ব্যবহারকারীর কাছে সত্যিকারের লগইন শেল নেই, যদিও পামটি সঠিকভাবে সেট আপ না করা থাকলে এর অর্থ এই নয় যে তারা লগইন করতে পারবেন না (আমি আর্চ লিনাক্সে এটি সম্পর্কে একটি বাগ রিপোর্ট করেছি, কারণ আপনি গ্রাফিকভাবে লগইন করতে পারবেন একটি লগইন শেল)। /bin/bashএবং /bin/zshউভয়ই বৈধ শেল, /etc/shellsআপনার সিস্টেমে বৈধ শেলগুলির তালিকা দেখুন see /etc/shellsআপনি আগ্রহী যদি এখানে আমার ।

/bin/sh
/bin/bash
/bin/ksh
/bin/zsh
/bin/dash

হ্যাঁ আপনি একই জিনিস ব্যবহার করতে chshবা করতে পারেন usermod, দয়া করে মনে রাখবেন এগুলি কেবল কাঠামোগত টেক্সট ফাইল এবং TIMTOWTDI।


11
আপনি সম্ভবত chshম্যানুয়ালি সম্পাদনার পরিবর্তে ব্যবহার করতে চানpasswd
মাইকেল মরোজেক

@ মিশেল শেলটি পরিবর্তন করার জন্য প্রায় 5 টি (পিওএমএ) বিভিন্ন উপায় রয়েছে /etc/passwdআমি সেগুলির কোনও তালিকা তৈরি করার মতো মনে করি না, কারণ আমি সর্বদা এটি নিজেই করি। chsh এবং usermod উভয় এটি করতে পারে।
xenoterracide

কনফিগারেশন ফাইলগুলির সাথে মেসেজিং একটি খারাপ ধারণা (টিএম), একটি ত্রুটি সিস্টেমটিকে অকেজো করে তুলতে পারে। হ্যাঁ, এটি প্রায়শই একমাত্র / দ্রুততম উপায়, তবে চরম যত্ন সহকারে এটি করুন ।
ভনব্র্যান্ড

12

যদি chsh বা ম্যানুয়ালি সম্পাদনা কনফিগারেশনটি কাজ করে না, তবে লগইন করার সময় একটি। /। প্রোফাইল স্ক্রিপ্ট কার্যকর করা হয়, এই লাইনটি যুক্ত করুন:

exec /bin/bash --login

কিছুক্ষণ ঘুরে দেখার পরে, এটি আমার প্রয়োজনীয় সমাধান ছিল। ধন্যবাদ!
পিয়ারসন আর্টফোটো

দুর্দান্ত ধারণা, বিশেষত যদি শেল সূত্রের সূত্র ধরে ফাইলটি নির্বাচন করে ...
ভনব্রান্ড

touch ~/.bash_profileবা অন্যথায় বাশ নিজেই একটি লুপে কার্যকর করবে: ব্যাশ উপস্থিত না থাকলে ~/.profileক্ষেত্রে নেয় takes ~/.bash_profile
har-wradim
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.