जैसा कि @William ने अपने जवाब में कहा, Apple GPL प्रतिबंधों के कारण बैश 4 प्रदान नहीं करता है। फिर भी आप 4+ को इंस्टॉल कर सकते हैं और निम्न करके भी इसे अपना डिफ़ॉल्ट शेल (टर्मिनल और iTerm2 के लिए ) बना सकते हैं ।
होमब्रे के माध्यम से बैश 4 स्थापित करें
पहले बैश के नए संस्करण को स्थापित करें। ऐसा करने के विभिन्न तरीके हैं, मुझे Homebrew पसंद है।
- होमब्रे को http://brew.sh पर वर्णित के रूप में स्थापित करें ।
- का उपयोग करके बैश स्थापित करें
brew install bash
।
बैश 4 अब आपके PATH (होमब्राउ बिन आपके मार्ग पर है) पर उपलब्ध है। हालांकि, यह है नहीं अभी तक अपने डिफ़ॉल्ट खोल। आप पा सकते हैं कि यह कहां पर स्थित है which bash
। मेरे मामले में यह है /usr/local/bin/bash
।
बाश 4 का उपयोग करना
चूँकि यह आपके PATH पर है, आप बस 4 सेशन के साथ बैश शुरू कर सकते हैं bash
या इसे शेबंग का उपयोग करके स्क्रिप्ट में इस्तेमाल किया जा सकता है ।
उदाहरण के लिए, यह एक विशिष्ट बैश उदाहरण का उपयोग करेगा।
#!/usr/local/bin/bash
...your script...
यह PATH पर पहले बैश का उपयोग करेगा।
#!/usr/bin/env bash
...your script...
आप @ user136952 के उत्तर में वर्णित चरणों का उपयोग करके टर्मिनल / iTerm2 में विशिष्ट प्रोफाइल के लिए बैश पाथ भी सेट कर सकते हैं।
बैश 4 को डिफ़ॉल्ट बनाना
जैसा कि ऊपर उल्लेख किया गया है, बैश 4 को स्थापित करने के बाद भी डिफ़ॉल्ट शेल नहीं है। डिफ़ॉल्ट रूप से बैश करने के लिए आपको दो और चरण करने होंगे।
सबसे पहले, अपनी /etc/shells
फ़ाइल में बैश 4 पथ जोड़ें, ताकि यह एक स्वीकृत लॉगिन शेल हो। जैसा कि / etc / गोले में वर्णित है , इस फ़ाइल में मान्य लॉगिन गोले की सूची है। नए बाश पथ को जोड़ने के बाद मेरा /etc/shells
लुक निम्नलिखित है:
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/bash
आगे हम chsh का उपयोग करते हुए इसे आपका डिफ़ॉल्ट शेल बनाते हैं। तो उस उपयोगकर्ता के लिए कोई भी सत्र उस शेल का उपयोग करेगा। मैक ओएस एक्स टर्मिनल में शेल द चेंज में आप इसके बारे में अधिक पढ़ सकते हैं , लेकिन वास्तविक कमांड बहुत सीधा है।
chsh -s /usr/local/bin/bash
अब नया बैश हमारा डिफ़ॉल्ट लॉगिन शेल है। यदि आप टर्मिनल या iTerm2 खोलते हैं और चलाते हैं bash --version
तो आपको नया संस्करण देखना चाहिए। "लाइसेंस GPLv3 +" पर ध्यान दें, यही कारण है कि Apple इसे macOS के साथ बंडल नहीं करता है।
$ bash --version
GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.6.0)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>