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