`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を使用することです。
  • rootシェルを取得してもsudo -sを使用すると、ホームディレクトリ(/ var / rootではない)からユーザープロファイルを読み込みます。

関連情報