为什么 ZSH shell 不改变提示符?

问题描述 投票:0回答:5

在切换到 zsh 之前我使用的是 bash。

在我的

~/.zsh
上,我有
export PS1="\w ~ "
,但它没有做出这些更改来反映提示。我希望我的提示显示类似
Documents/Rails_App/views ~ 

的内容

我打开了一个新选项卡并关闭并重新打开了应用程序。

unix terminal zsh oh-my-zsh iterm2
5个回答
8
投票

Zsh的第一级提示可以用

PROMPT
prompt
PS1
设置。

Zsh 使用除 Bash 之外的其他转义符。最值得注意的是,它们以

%
开头,而不是
\
。相当于 Bash 的
\w
%~

因此,只需将以下行设置在您的

~/.zshrc
中就可以解决问题:

PROMPT='%~ ~'

注意:(通常)不需要

Zsh
中的 export PROMPT - 或 Bash


如果它对您不起作用,很可能与 Oh-My-Zsh 有关,因为它已经为

PROMPT
提供了自己的设置。因此,您必须确保在获取
Oh-My-Zsh
后设置 PROMPT

如果您使用Oh-My-Zsh附带的模板,它应该位于此行之后:

source $ZSH/oh-my-zsh.sh

5
投票

我的问题是,我过去一直使用

~/.zprofile
而不是
 ~/.zshrc
,这在 Mac 上应该是等效的,因为终端是一个登录 shell,但是
PROMPT
变量要么被忽略,要么被覆盖。一旦我将其移至
~/.zshrc
,它就起作用了。
~/.zshrc
内容供参考:

PROMPT='%F{yellow}%n@%m: %F{white}[%T] %F{cyan}%1d $ %F{reset}'

3
投票

在 Debian 发行版上。

从标准源安装zsh

apt install zsh
#prompt adam1
文件中注释
.zshrc
并重新加载设置
source ~/.zshrc

现在添加自定义提示:

PROMPT='Greetings %n '

图片:zsh自定义提示


0
投票

在 zsh 中使用

_PROMPT

export _PROMPT='%d ~ '

0
投票

我只是想为那些试图保持理智的人添加这一点。如果您发现自己使用 zsh 并安装了 iterm 主题或 oh-my-zsh 主题,则该主题实际上可能正在控制您想要编辑的 zsh shell 提示符。

您应该检查已安装的主题是否有可以覆盖并放置在 .zshrc 中的变量,或者在备份原始文件后直接在 custom/plugins 文件夹中编辑主题文件。此链接对此有所涉及:https://s-canchi.github.io/2021-12-21-jekyll-zsh-prompt/

我还没有看到太多涉及这种情况的解释。

© www.soinside.com 2019 - 2024. All rights reserved.