我希望我的 zsh 提示符显示两个时区的时间,特别是当地时间和 UTC。如果我在 PDT 上,显示如下:
[22:21:59] [15:21:59]%
(我使用日志文件。有些是 UTC,有些是当地时间)
如果有帮助,我的 bash 提示是:
PS1="[\$(env TZ=UTC date +%H:%M:%S)] [\$(env TZ=America/Los_Angeles date +%H:%M:%S)] $ "
这似乎有效:
setopt promptsubst
zmodload zsh/datetime
PROMPT='[$(TZ=UTC strftime %T)][$(TZ=America/Los_Angeles strftime %T)] %% '
加载
zsh/datetime
module 后,不需要启动任何子进程(与您的 bash
示例不同)。
如果可以使用当前机器时区,提示可以短一点:
PROMPT='[$(TZ=UTC strftime %T)][%*] %% '