sh를 zsh로 교체

sh를 zsh로 교체

다음 명령을 사용하여 sh를 zsh로 바꿨습니다.

$ sudo mv /bin/sh /bin/sh1
$ sudo ln -s /usr/bin/zsh /bin/sh
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 12 Jul  6 20:48 /bin/sh -> /usr/bin/zsh
$ which sh
/bin/sh
$ sh
$ exit
$ zsh
mpc% exit

보시다시피, 명령이 연결되어 있지만 sh셸은 열리지 않습니다. zsh문제는 왜인가? 이 문제를 어떻게 해결할 수 있나요?

답변1

이 작업을 수행해야 합니다. 으로 시작하면 이라는 sh다른 셸과 대부분 호환되는 것을 원한다고 가정 sh하고 호환 모드에서 실행됩니다.

바라보다http://zsh.sourceforge.net/Doc/Release/Initation.html#Compatibility:

Zsh는 모방을 시도합니다.또는케시sh또는 각각 ksh[...]

존재하다그리고케시호환성 모드 다음 매개변수는 특별하지 않으며 쉘에 의해 초기화되지 않습니다: ... prompt, PROMPT, ...

일반적인 zsh 시작/종료 스크립트를 실행하지 마십시오.

as 호출이 호환 모드에서 작동하지 않을 수 있는지 확실하지 않지만 이로 인해 Zsh가 아닌 단지 이를 sh가정하는 시스템의 많은 스크립트가 중단될 수 있습니다 ./bin/shsh

아마도 대신 실행하는 것이 가장 좋습니다 zsh.

답변2

사용자의 기본 쉘을 변경하려면 다음 명령을 사용하면 어떨까요 chsh?

$ chsh -s /usr/bin/zsh

인용하다

관련 정보