다음 명령을 사용하여 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/sh
sh
아마도 대신 실행하는 것이 가장 좋습니다 zsh
.