Cara menggunakan bash sebagai shell default


20

Saya menjalankan El Capitan 10.11.3 dengan versi bash 3.x jadi saya memutuskan untuk memperbarui bash melalui:

brew install bash

Brew menempatkan bash baru di bawah / 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.

Seperti yang Anda lihat minuman menyebutkan bahwa saya perlu memperbarui /etc/shellsuntuk menggunakan bash baru. Tetapi setelah menutup / membuka kembali shell saat ini bash --versionmemberitahu saya bahwa sekarang saya sudah menggunakan 4.3.42 jadi saya bertanya-tanya apa yang terjadi di bawah tenda bahwa versi baru secara otomatis digunakan?


Bagaimana Anda menutup / membuka kembali shell saat ini?
— user151019

@Mark klik kanan pada ikon terminal -> berhenti, klik kiri pada ikon terminal
— Mike

Jawaban:


8

Anda dapat menggunakan perintah chsh untuk mengubah shell Anda. Dalam kasus Anda, dengan pembuatan bir buatan, Anda harus mengaturnya /usr/local/bin/bash. Anda juga harus memasukkan ini /etc/shells.

Adapun pertanyaan Anda echo $BASH_VERSIONakan memberi tahu Anda versi shell saat ini . bash --versionmemberi tahu Anda versi bash pertama di $PATH. Jadi cara Anda melihat versi itu tidak memberi tahu Anda versi yang sedang Anda jalankan.


Ok saya rasa saya mengerti. Tapi bukankah itu berarti minuman memodifikasi jalur saya menjadi put / usr / local / bash to path? Atau / usr / local / bash default di PATH?
— Mike

Ok sudo stat -x /etc/pathsmengatakan kepada saya bahwa itu tidak dimodifikasi oleh minuman (Anda akan memerlukan sudo pula). Jadi itu pasti default. Dan saya pikir Anda benar, setelah melakukan langkah-langkah Anda echo $ BASH_VERSION sekarang mengembalikan 4.3.42. Terima Merm!
— Mike

25
brew install bash
sudo nano /etc/shells

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

# save and quit via kntrl + x

Sekarang, Anda perlu melihat sesuatu seperti ini:

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!

Sekarang atur shell default Anda:

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

Sekarang keluar dari Terminal dan buka kembali! Periksa apakah semuanya baik-baik saja?

echo $BASH_VERSION # 4.3.42(1)-release

mungkin tidak jelas metode yang sama ini juga berfungsi untuk zshdan fishshell.
— Andy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.