bash를 기본 쉘로 사용하는 방법


16

저는 엘 캐피 탄 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.

업데이트해야 할 BREM 언급을 볼 수 있듯이 /etc/shells 새로운 bash를 사용하기 위해서. 그러나 현재 쉘을 닫았다가 다시 닫은 후에 bash --version 이제는 4.3.42를 사용하고 있으므로 새 버전이 자동으로 사용된다는 내용이 궁금합니다.

Mike 22 1월 2016 15:21
소스

어떻게 현재 쉘을 닫거나 다시여셨습니까?
Mark 22 1월 2016 14:50

@ 터미널 아이콘을 마우스 오른쪽 버튼으로 클릭하십시오 - & gt; 종료, 터미널 아이콘을 클릭하십시오.
Mike 22 1월 2016 14:51

답변:


8

chsh 명령을 사용하여 쉘을 변경할 수 있습니다. brew가 생성 한 bash를 사용하는 경우에는 다음과 같이 설정해야합니다. /usr/local/bin/bash. 너도 이걸 넣어 둬야 해. /etc/shells.

귀하의 질문에 관해서 echo $BASH_VERSION 당신의 버전을 알려줄 것입니다. 흐름 껍질. bash --version 당신의 첫번째 bash 버전을 알려줍니다. $PATH. 그래서 당신이 버전을보고있는 것은 당신에게 당신이 달리고있는 버전을 말하고있는 것이 아닙니다.

MERM 22 1월 2016 15:21
소스

좋아, 나는 이해한다고 생각한다. 하지만 brew가 내 경로를 / usr / local / bash를 경로로 수정했다는 것을 의미하지는 않습니까? 또는 PATH의 / usr / local / bash 기본값은 무엇입니까?
Mike 22 1월 2016 15:34

승인 sudo stat -x /etc/paths 그것은 brew에 의해 수정되지 않았다는 것을 알려줍니다 (어쨌든 sudo가 필요합니다). 따라서 기본값이어야합니다. 그리고 당신이 옳다고 생각합니다. 단계를 수행 한 후 $ BASH_VERSION이 4.3.42를 반환합니다. Merm에게 감사드립니다!
Mike 22 1월 2016 15:51

19
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.

이제 터미널을 종료하고 다시여십시오! 모두 확인 했습니까?

echo $BASH_VERSION # 4.3.42(1)-release
vigo 29 3월 2016 20:23
소스

이 똑같은 방법은 또한 명백하게 작동하지 않을 수도 있습니다. zshfish 껍질.
Andrew Anthony Gerst 16 1월 2019 00:50
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.