![/bin/sh 심볼릭 링크가 제대로 작동하지 않습니다.](https://linux55.com/image/149870/%2Fbin%2Fsh%20%EC%8B%AC%EB%B3%BC%EB%A6%AD%20%EB%A7%81%ED%81%AC%EA%B0%80%20%EC%A0%9C%EB%8C%80%EB%A1%9C%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
sh
i3 config 명령을 사용하여 프로세스를 시작할 때 기본적으로 사용되는 i3을 사용하고 있습니다 exec
. 이것은 괜찮지만, 내 .zshrc에서 생성된 환경 변수가 i3의 하위 프로세스(내가 여는 거의 모든 프로그램)로 전송되지 않는다는 것을 의미합니다.
/bin/sh
이 문제를 해결하기 위해 다음과 같이 가리키는 심볼릭 링크를 변경해 보았습니다 /bin/zsh
.
$ which sh
/bin/sh
$ sudo rm /bin/sh
$ sudo ln -s /bin/zsh /bin/sh
이것은 내가 기대하는 심볼릭 링크를 생성합니다.
$ ls -la /bin/sh
lrwxrwxrwx 1 root root 8 Mar 13 22:16 /bin/sh -> /bin/zsh
$ which sh
/bin/sh
sh
그러나 을 실행하려고 하면 sh
대신 시작됩니다 zsh
. 을 실행해도 같은 일이 발생합니다 /bin/sh
. 로그아웃했다가 다시 로그인합니다. 아무것도 바뀌지 않습니다.
/bin/zsh
명령은 예상대로 시작됩니다 zsh
.zsh
답변1
zsh
발사는 괜찮은 것으로 밝혀 졌지만 sh
. 매뉴얼 페이지를 더 주의 깊게 읽어야 합니다. @steeldriver가 지적했듯이 매뉴얼 페이지에는 "Zsh가 각각 sh 또는 ksh로 호출되면 sh 또는 ksh를 에뮬레이션하려고 시도합니다."