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