OSX에서 zsh에서 bash로 전환했다가 다시?


194

그래서 저는 Rails에서 개발을 배우고 zsh의 힘을 발견했습니다. 그러나 다른 작업 중 일부는 일반 Bash를 사용하고 싶습니다. 그것들은 동일하지만 일부 상황에서는 bash가 배치되는 것에 익숙합니다. 앞뒤로 전환하거나 zsh를 켜거나 끄려면 어떻게합니까? 감사!

답변:


382

exec현재 쉘을 새로운 쉘로 교체 하는 데 사용할 수 있습니다 .

로 전환 bash:

exec bash

로 전환 zsh:

exec zsh

이것은 새로운 터미널 창이나 다른 것에 영향을 미치지 않지만 편리합니다.


1
천만에요! 이 답변에 만족하는 경우 답변 왼쪽의 확인 표시를 확인하여 잠시 답변을 수락 한 것으로 표시하십시오. 감사!
larsks

1
또는 zsh를 호출 exit하고 bash로 돌아갈 때 . 실행하는 것은 불필요하고 바람직하지 않은 것 같습니다.
Chris 페이지

모두 종료 할 때 터미널 창에서 수행 할 작업에 따라 다릅니다. 서브 쉘을 시작하는 것은 불필요하고 바람직하지 않습니다.
Larsks

2
기본값을 어떻게 변경합니까? 또한 zsh에서 "exec bash"를 수행하면 bash_profile을 소스하지 않습니다.
kalehv

1
zsh를 사용하고 싶거나 다른 작업을 방해하는 경우가 있습니다. 기본값을 앞뒤로 설정하는 것은 나쁜 생각이므로 완벽한 솔루션입니다 !!! 명성!!
밥 로버츠

126

당신은 시도 할 수 있습니다 chsh -s /bin/bash기본값으로 떠들썩한 파티를 설정하거나 chsh -s /bin/zsh기본값으로 zsh을 설정 할 수 있습니다.


54

zsh와 bash 사이를 다소 자주 전환합니다. 잠시 동안, 나는 매 스위치마다 bash_profile을 소싱해야했습니다. 그런 다음 (일반적으로) 할 수 있음을 알았습니다.

exec bash --login

아니면 그냥

exec bash -l

1
고마워 phill, 나는 thinkbot / 노트북을 설치하고 모든 구성을 망쳐 놓았습니다. 당신의 팁은 내 bash 환경을 되 찾는 데 도움이됩니다.
Seralto

1
"-로그인"이란 무엇을 썼는가?
Ewoks

Make bash act as if it had been invoked as a login shell (see INVOCATION below). 출처
대출

16

임시 스위치 인 경우

위에서 언급 한 것처럼 exec를 사용할 수 있지만 영구적 인 해결책이 더 많습니다.

chsh -s / bin / bash를 사용할 수 있습니다 과 (배쉬로 전환합니다) chsh 명령 -s / 빈 / zsh을 (zsh을로 전환합니다)


12

Bash를 위해 시도하십시오

chsh -s $(which bash)

zsh의 경우 시도하십시오

chsh -s $(which zsh)

6

zsh에는 emulatecsh가 완전히 에뮬레이트되지 않지만 적절한 옵션을 설정하여 다른 쉘을 에뮬레이트 할 수 있는 기본 제공 명령 이 있습니다.

emulate bash
perform commands
emulate -R zsh

-R 플래그는 모든 옵션을 해당 쉘의 기본값으로 복원합니다.

참조 : zsh 매뉴얼


1
어떤 버전의 bash가 에뮬레이트되는지 확실하지 않습니까? bash 4.x를 에뮬레이트합니까? 또는 5.x?
에드가 Aroutiounian

2

당신은 입력 할 만 할 수 있어야한다 bash배쉬로 전환 터미널에 다음을 입력 zshzsh을로 전환합니다. 적어도 나를 위해 일합니다.


이것은 더 간단합니다.
andromeda

2
이것은 작동하지만 입력 zsh하거나 bash하위 셸로 들어갈 때마다 (현재 셸에서 하위 프로세스). 최상위 쉘로 돌아가려면 exit를 여러 번 입력해야합니다.
RichVel 2016 년

1

Mac OS에서 Catalina 기본 대화식 쉘은 zsh입니다. bash에서 쉘을 zsh로 변경하려면 다음을 수행하십시오.

chsh -s /bin/zsh

그런 다음 Mac 암호를 입력해야합니다. 터미널을 종료했다가 다시여십시오. ssh로 성공적으로 변경되었는지 확인하려면 다음 명령을 실행하십시오.

echo $SHELL

결과가 / bin / zsh이면 작업이 완료된 것입니다.

다시 bash로 변경하려면 터미널에서 다음 명령을 실행하십시오.

chsh -s /bin/bash

을 사용하여 다시 확인하십시오 echo $SHELL. 그런 다음 결과는 / bin / bash입니다.


0

당신은 입력 할 수 있습니다 bash 하거나 항상 bash를 사용하려는 경우 :

"iTerm2"에

  • 환경 설정> 프로파일> 명령으로 이동하십시오.
  • 드롭 다운에서 "명령"을 선택하십시오
  • 유형 bash

iTerm을 닫고 다시 열어 테스트


-5

"bye"명령을 사용하여 bash로 쉽게 다시 전환 할 수 있습니다


안녕은 zsh를 종료하지만 배쉬로 다시하지 않습니다
Cece Dong-MSFT
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.