Homebrew로 bash 버전을 변경하는 방법


4

homebrew를 사용하여 로컬 시스템에 최신 버전의 bash를 설치했습니다. : 나는에서 심볼릭 링크를 추가 /usr/local/bin/bash/usr/local/Cellar/bash/4.2.20/bin/bash하고 라인을 추가 : /usr/local/bin/bash/etc/shells

터미널을로드 할 때 여전히 명령을 실행할 때 이전 버전의 bash를 얻습니다. /etc/local/Cellar/bash/4.2.20/bin/bash프롬프트가 변경 bash-4.2$되지만 bash --version여전히 할 때 여전히 버전 3.2입니다. 아무도 내가 잃어버린 단계를 알고 있습니까?

답변:


10

시스템 환경 설정, 사용자 및 그룹에서 계정의 로그인 셸을 변경해야합니다. 사용자 이름을 마우스 오른쪽 버튼으로 클릭하고 쉘을로 변경하여 고급 옵션에 액세스해야합니다 /usr/local/bin/bash. 일단 완료하면 Terminal.app를 다시 시작하십시오 (잘못된 쉘을 가진 오래된 세션이 남아 있지 않도록) 설정해야합니다.

로그인 쉘 변경

다음을 사용하여 동일한 작업을 수행 할 수 있습니다 dscl.

dscl . -change /Users/<username> UserShell /usr/local/bin/bash

로그 아웃 부분이 확실합니까? 나는 항상 Terminal.app을 다시 시작하면 충분하다는 것을 항상 발견했습니다. 하지만 라이온을 위해 로그 아웃해야했는지 기억이 나지 않습니다.
ismail

좋은 지적-아마 필요하지 않습니다 (Terminal.app를 다시 시작하면 충분합니다). 답변을 조정하겠습니다. 감사합니다.
mjturner

흥미롭게도, 나는 이미이 라인을 가지고 있습니다. 그러나 bash 버전은 여전히 ​​3.2입니다.
trev9065

당신의 $ PATH 때문이 아니라고 확신하십니까? Terminal.app를 연 후 "echo $ BASH_VERSION"을 수행하여 결과를 알려주시겠습니까?
mjturner 2019

@mjturner ok 그래서 echo $BASH_VERSION내가 4.2 일 때 bash 변수가 설정되었지만 경로는 아닌 이유는 무엇입니까? 경로를 내 경로로 설정해야합니까 /usr/local/bin/bash아니면 필요하지 않습니까?
trev9065
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.