我安装了 Arch Linux 并迁移了我的 .zshrc 并使用了 bart 提示主题。我在第一行看到了正常的主题(主机名;最后运行的命令;密码;和时间),但在下一行是: \[\][ \[\]hostname \[\]\W\[\] \[\]]\[\]# \[\]
其中 $hostname 是我的实际主机名。
我将我的文件重命名/etc/zsh
为backup.zshrc
backup.zprofile
和backup.keephack
。我另一台计算机上的提示很整洁,所以我知道这不是~/.zshrc
我迁移过来的东西。
这是一个 bash 提示符,因此 bash 设置以某种方式泄露给了 zsh。所有常见的 shell 都使用
PS1
变量作为主要提示符,但它们使用不同的格式。由于PS1
对不同的程序有不同的含义,它不应该是环境变量,只能是每个使用它的程序(bash、zsh 等)中的变量。不幸的是,许多发行版都提供了在环境中设置的默认文件PS1
,通常是/etc/profile
.Zsh 使用的不仅仅是
PS1
构建它的提示符。我不知道你的提示主题是如何工作的,但它结合了多个元素,包括PS1
. 因为PS1
是以不应该的方式设置的,所以 zsh 最终选择了一个杂散的 bash 设置。因此,一个可能的解决方法是添加
unset PS1
您的.zshrc
. 根据提示主题的工作方式,您可能需要也可能不需要在设置提示主题之前执行此操作。