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