जवाबों:
chshउपयोगिता का उपयोग करें जैसे:
chsh -s bash
उदाहरण के लिए लिनक्स में देखे गए ऐप्पल ने chshमैक ओएस एक्स पर थोड़ा बदलाव किया है chsh। आप उनके बारे में chsh Mac OS X Man पेज पर पढ़ सकते हैं ।
ध्यान दें कि आपको केवल सूचीबद्ध शेल में बदलने की अनुमति होगी /etc/shells। यह सामान्य रूप से ठीक है, लेकिन इसका मतलब है कि यदि आप बैश 4 को स्थापित करना चाहते हैं (होमब्रेव, मैकपोर्ट्स से, या अपने खुद के संकलन), तो आपको एक पंक्ति जोड़ने की आवश्यकता है /etc/shells। (मैं कुछ हफ्ते पहले इसमें भाग गया, और लगा कि इससे दूसरों को जानने में मदद मिल सकती है ...)
संपादित करें : टिम स्मिथ बताते हैं कि /etc/shellsयदि आप chshरूट के माध्यम से रन करते हैं, तो आप सीमा के आसपास प्राप्त कर सकते हैं sudo। ईजी sudo chsh -s /usr/local/bin/my_shell $USERकाम करेगा, भले ही my_shellवह सूचीबद्ध न हो /etc/shells। मैं संपादित करना पसंद करता हूं /etc/shells, लेकिन अंत में, यह एक sudoतरह से उपयोग है क्योंकि आप /etc/shellsएक नियमित उपयोगकर्ता के रूप में संपादित नहीं कर सकते हैं । तो शायद छह में से एक, दूसरे का आधा दर्जन।
/etc/shellsअगर आपको नहीं करना है तो परिवर्तन क्यों ? पवित्रता के लिए, मैं सिस्टम फ़ाइलों को समान रखना पसंद करता हूं।
/etc/shellsसिस्टम पर फ़ाइल है जो मान्यता प्राप्त गोले को परिभाषित करता है। मैं उस फ़ाइल को बदल देता हूं क्योंकि मैं किसी शेल को मान्यता प्राप्त शेल की सूची में जोड़ना चाहता हूं। मुझे बहुत उचित लगता है।
chsh: bash: non-standard shell
chshयदि आप उस शेल का उपयोग करने का प्रयास नहीं कर रहे हैं जो किसी ऐसे शेल का उपयोग करने का प्रयास कर रहा है जो सूचीबद्ध नहीं है /etc/shells।
/etc/shellsजिसमें मुझे अजीब लगे।
Mac OS X GUI का उपयोग करने के लिए:
ध्यान दें, यह वह स्थान है जहां आप अपने घर की निर्देशिका, यूयूआईडी, उपयोगकर्ता आईडी, समूह आईडी और संक्षिप्त नाम बदल सकते हैं यदि आप टर्मिनल के साथ असहज हैं। इसी तरह का सवाल यहां भी है।
उपरोक्त उत्तरों का उपयोग करने से मुझे एक त्रुटि संदेश मिल रहा था:
$ chsh -s zsh
Changing shell for myuser.
Password for myuser:
chsh: zsh: non-standard shell
इसके आसपास काम करने के लिए:
sudo chsh -s zsh $(whoami)
whoami एक उपधारा में अपने उपयोगकर्ता के लिए शेल को बदलना है, न कि रूट को।
एक और बात अगर आप homebrew का उपयोग कर रहे हैं। जब आप कमांड को रूट (उपयोग करते हुए sudo), zsh को / bin / zsh पर चलाते हैं, जो OSX के साथ आता है और पुराना हो सकता है। होमब्रेव के माध्यम से स्थापित होने वाली तारीख तक का उपयोग करने के लिए, निम्नलिखित का उपयोग करें:
sudo chsh -s $(which zsh) $(whoami)