如何编辑shell提示符来显示时间?

如何编辑shell提示符来显示时间?

我想编辑我的 shell 提示符以显示时间。我目前正在使用 zsh,但我希望自定义 shell 提示符来显示时间。

我知道 anecho $PS1会给我环境变量内容。鉴于:

[%n]%~

使用以下命令设置提示:

setenv PROMPT '[%n]%t ' 

我还知道如果我输入man zsh并按下enter它会给我一个可以更改的格式列表。

答案1

我想你想做:

PROMPT='[%n]%t '

setenv是一个csh命令。类似 Bourne 的 shell 中的等效项是export,但在这里您不想将该变量导出到环境中,只需定义$PROMPT 变量(通常在您的 中~/.zshrc)。

尝试man zshmisc查找“SIMPLE PROMPT ESCAPES”部分(或运行info zsh 'prompt expansion')以查看所有可用的转义序列。另外,看看 zsh 的RPROMPT 变量。它既有用又有趣。

答案2

如果您想在 zsh 提示符中包含系统时间,秘诀如下:

  • %T24 小时格式的当前时间 =>13:42
  • %t时间以 AM/PM 或 12 小时格式显示,或使用 =>1:42 PM
  • %*以 24 小时格式显示时间和秒。 =>13:42:03

我强烈建议使用RPROMPT在终端右侧显示该值。

我有RPROMPT="[%D{%Y/%m/%f}|%*]"

相关内容