วิธีใช้ bash เป็นเชลล์เริ่มต้น


21

ฉันใช้ El Capitan 10.11.3 ด้วย bash เวอร์ชัน 3.x ดังนั้นฉันจึงตัดสินใจอัปเดต bash ผ่าน:

brew install bash

Brew วาง bash ใหม่ภายใต้ / usr / local / Cellar / bash:

brew info bash

bash: stable 4.3.42 (bottled), devel 4.4-beta, HEAD
Bourne-Again SHell, a UNIX command interpreter
https://www.gnu.org/software/bash/
/usr/local/Cellar/bash/4.3.42 (59 files, 7.3M) *
Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/bash.rb
==> Dependencies
Required: readline 
==> Caveats
In order to use this build of bash as your login shell,
it must be added to /etc/shells.

ในขณะที่คุณสามารถเห็นการชงกล่าวถึงว่าฉันจำเป็นต้องปรับปรุง/etc/shellsเพื่อที่จะใช้ทุบตีใหม่ แต่หลังจากปิด / เปิดเชลล์ปัจจุบันใหม่bash --versionบอกฉันว่าตอนนี้ฉันใช้ 4.3.42 อยู่แล้วฉันจึงสงสัยว่าเกิดอะไรขึ้นภายใต้ประทุนที่มีการใช้เวอร์ชันใหม่โดยอัตโนมัติ


คุณปิด / เปิดเชลล์ปัจจุบันอีกครั้งได้อย่างไร
user151019

@ มาร์คคลิกขวาที่ไอคอนเทอร์มินัล -> ออกจากนั้นคลิกซ้ายที่ไอคอนเทอร์มินัล
Mike

คำตอบ:


8

คุณสามารถใช้คำสั่ง chsh เพื่อเปลี่ยนเชลล์ของคุณ /usr/local/bin/bashในกรณีของคุณกับชงสร้างทุบตีคุณควรตั้งค่าให้ คุณควรใส่สิ่งนี้/etc/shellsด้วย

ตามคำถามของคุณecho $BASH_VERSIONจะบอกเวอร์ชั่นของเชลล์ปัจจุบัน บอกคุณรุ่นของทุบตีครั้งแรกในของคุณbash --version $PATHดังนั้นวิธีที่คุณดูเวอร์ชันไม่ได้บอกเวอร์ชันที่คุณใช้อยู่


ตกลงฉันคิดว่าฉันเข้าใจ แต่นั่นไม่ได้หมายความว่าชงปรับเปลี่ยนเส้นทางของฉันใส่ / usr / local / bash เพื่อเส้นทาง? หรือ / usr / local / bash เป็นค่าเริ่มต้นใน PATH หรือไม่
Mike

ตกลงsudo stat -x /etc/pathsบอกฉันว่ามันไม่ได้ถูกดัดแปลงโดยชง (คุณจะต้อง sudo ต่อไป) ดังนั้นมันจะต้องเป็นค่าเริ่มต้น และฉันคิดว่าคุณพูดถูกหลังจากทำตามขั้นตอนแล้ว echo $ BASH_VERSION จะส่งคืน 4.3.42 ขอบคุณ Merm!
Mike

26
brew install bash
sudo nano /etc/shells

# add to last line
/usr/local/bin/bash

# save and quit via kntrl + x

ตอนนี้คุณต้องเห็นสิ่งนี้:

cat /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  # we added this!

ตอนนี้ตั้งค่าเปลือกเริ่มต้นของคุณ:

chsh -s /usr/local/bin/bash $USER # this will set for the current user.

ตอนนี้ออกจาก Terminal และเปิดใหม่! ตรวจสอบว่าทั้งหมดตกลงหรือไม่

echo $BASH_VERSION # 4.3.42(1)-release

อาจไม่ชัดเจนวิธีการเดียวกันนี้ใช้งานได้กับzshและfishเชลล์
Andy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.