macOS 下如何获取 zsh prompt of form: [working-directory] ​​#

How get zsh prompt of form: [working-directory] # under macOS

在 macOS Catalina (10.15.6) 中,我想将 zsh 用于终端会话。以前我一直使用默认的 bash。对于 bash,我有一个包含行

的 .profile
export PS1="[\u@\h:\w]$ "

给出了以下形式的提示:

[me@myhost:current-dir]$

我想要 zsh 类似的东西,但没有 user-name@host-name 前缀,实际提示用 # 而不是 $。

在 zsh 终端会话中,命令

PROMPT='[%/]%% '

给出预期的提示,当前目录括在方括号中。

我当然不想每次都手动输入。相反,我想在 .zprofile 中设置它。所以在 .zprofile 中我包含了行

export PROMPT='[%/]%% '

但是,这并没有像预期的那样工作——提示现在的形式是:

me@myhost current-dir %

问题:如何让zsh提示符如下所示?

[current-dir] %

把下面的导出添加到~/.zshrc,否则不行

 export PROMPT='[%1~] %%'

那会给你下面的,我的目录名是test-workflow-branch-only

[test-workflow-branch-only] %

注意:这会在 ~/ 目录中为您提供 [~] %,所以当您看到

时不要惊慌

更新 - 每个评论问题

我们将其添加到 ~/.zshrc 中,因为该文件在所有交互式 shell 配置中均有来源。文件 ~/.zprofile 用于我们登录时要执行的命令,因此 non-login shell 不会获取此文件。

感谢爱德华·罗梅罗提供的信息。我对答案的批评是​​它包含四个浪费的字符,'[',']','','%'。相反,使用 PROMPT='%d>' 会产生清晰的绝对路径,如下所示:

/Users/myuser/test-workflow-branch-only>

无论如何,很高兴把这个头痛的事情抛在脑后,开始享受使用 zsh 带来的美妙好处,无论它们是什么。