我想编辑我的 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 提示符中包含系统时间,秘诀如下:
%T
24 小时格式的当前时间 =>13:42
%t
时间以 AM/PM 或 12 小时格式显示,或使用 =>1:42 PM
%*
以 24 小时格式显示时间和秒。 =>13:42:03
我强烈建议使用RPROMPT
在终端右侧显示该值。
我有RPROMPT="[%D{%Y/%m/%f}|%*]"