`sudo su`를 사용할 때 zsh에서 사용자 정의 손실 메시지가 표시됩니다.

`sudo su`를 사용할 때 zsh에서 사용자 정의 손실 메시지가 표시됩니다.

내 현재 zsh 프롬프트는 다음과 같습니다.

prompt='%F{013}%2~%f$(git_super_status)%(?.%F{004}.%F{001}✕%?)$ %f'

그것은 다음과 같습니다:

Documents/multi-git-status:master↑5●2✚1…$ 

그런데 사용하다보니 sudo su이렇게 되더라구요blueray-PC#

Documents/multi-git-status:master↑5●2✚1…$ sudo su
[sudo] password for blueray:   
blueray-PC# 

왜 이런 일이 발생합니까?

답변1

sudo su더 이상 사용되지 않으며 환경을 실제로 망칠 수 있습니다. 대신
사용하십시오 sudo -i.

(또한 이것이 없는 시스템에서도 작동한다는 장점이 있습니다 su)

편집하다:한 가지 잊어버렸어요: 끝에
추가하세요export PS1="%F{013}%2~%f$(git_super_status)%(?.%F{004}.%F{001}✕%?)$ %f"
/root/.zshrc

답변2

macOS Catalina에서 다음과 같은 문제가 발생했습니다 sudo -s.

  • sudo -szprofile 및 zlogin 대신 zshenv 및 zshrc 프로필을 사용하도록 대화형 셸을 시작합니다.
  • macOS에서는 /etc/zschrc가 프롬프트를 설정하므로 재정의할 수 있는 유일한 기회는 .zshrc를 사용하는 것입니다.
  • 루트 쉘을 얻더라도 sudo -s를 사용하면 홈 디렉토리(/var/root 아님)에서 사용자 프로필을 읽습니다.

관련 정보