MacPorts로 내 Bash를 3.2.48으로 업데이트하지 못했습니다. 내가MacPorts로 Mac에서 내 Bash를 업데이트 할 수 없습니다.
echo $BASH_VERSION
3.2.17(1)-release
를 얻을 수 있기 때문에
당신이 최신 배쉬가 활성화 내 로그인 쉘을 위해 그것을 얻을 등 할 수있는 방법, 나는 그것이 활성이없는 것 같다?
MacPorts로 내 Bash를 3.2.48으로 업데이트하지 못했습니다. 내가MacPorts로 Mac에서 내 Bash를 업데이트 할 수 없습니다.
echo $BASH_VERSION
3.2.17(1)-release
를 얻을 수 있기 때문에
당신이 최신 배쉬가 활성화 내 로그인 쉘을 위해 그것을 얻을 등 할 수있는 방법, 나는 그것이 활성이없는 것 같다?
인스턴스가 MacPorts를
chsh -s /opt/local/bin/bash
이 당신에게 메시지를 제공하는 경우 설치 최신 배쉬로 쉘을 변경하기 위해, 다음 코드를 실행
"
non-standard shell
"
당신이
를 추가해야합니다/opt/local/bin/bash
to
/etc/shells
/etc/shells
은 텍스트 파일이므로 루트로 인증하면 직접 편집 할 수 있습니다. 당신은 당신의 첫번째 chsh 명령 명령이 실패하면 프로그램,
sudo -s
Password:
# echo /opt/local/bin/bash >> /etc/shells
명령에 의해 변경 위의 파일을 변경 관리하면 지금 다시 실행할 수 있습니다.
포트 응용 프로그램을 실행하는 데 문제가 발생하면 bash 프로필을 업데이트해야 할 수도 있습니다. 자세한 내용은 http://superuser.com/a/366645/114131을 참조하십시오. –
'/ etc/shells'에있는 항목의 순서를 바꾸어서 새로운 'bash' 위치가 다른 항목 앞에 오도록해야 할 수도 있습니다. 모든 것이 제대로 작동하려면. – DilithiumMatrix
@zhermes : 사실이 아닙니다./etc/shells의 명령은 아무 효과가 없습니다. – Noldorin
설치되어 있지만 로그인 셸로 사용되지 않았다고 생각합니다.
명령 줄에서 dscl을 사용하여 셸을 변경할 수 있습니다. 를, dscl 프롬프트에서
다음
list Local/Default/Users
read Local/Default/Users/<your username here>
change Local/Default/Users/<your username here> UserShell /bin/bash /opt/local/bin/bash
내가 한 것이 도움이 내 blog 경우에를, dscl 사용의 또 다른 예는.
먼저 새 셸을/etc/shells에 추가해야합니다. # sudo echo/opt/local/bin/bash >>/etc/shells – Fa11enAngel
로컬/Default/Users/simpatico를 변경합니다. UserShell/bin/bash/opt/local/bin/bash
당신은 기존의 맥 OS X의 로그인 쉘에서 로그인 쉘을 전환 할 수 있습니다 (기본적으로는 /bin/bash
맥 OS X와 함께 제공) 바로 다음 쉘 스크립트를 사용하여 MacPorts를 /opt/local/bin/bash
에 :
#!/opt/local/bin/bash
if [ `grep /opt/local/bin/bash /etc/shells` ];
then
echo /opt/local/bin/bash | chsh -s /opt/local/bin/bash;
else
echo /opt/local/bin/bash | sudo tee -a /etc/shells;
chsh -s /opt/local/bin/bash;
fi
grep의 출력을 테스트하지 말고 종료 상태를 테스트하십시오. 'if grep -Fxq/opt/local/bin/bash/etc/shells; 그때' – geirha
와우를, 업데이트 된 셸을 사용하고 있지 않다는 것을 알지 못했습니다. 감사! – Schwern