对于我的 powerlevel10k 自定义提示,我目前有这个功能来显示自纪元以来的秒数,逗号分隔。我在当前时间下显示它,所以我总是有一个提示来大致记住当前的纪元时间。
function prompt_epoch() {
MYEPOCH=$(/bin/date +%s | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta')
p10k segment -f 66 -t ${MYEPOCH}
}
有人告诉我,我可以在没有使用这些命令的分叉进程的情况下做到这一点:
$ zmodload -F zsh/datetime p:EPOCHSECONDS
$ printf "%'d" $EPOCHSECONDS
1,648,943,504
但我不确定如何在没有分叉的情况下做到这一点。我知道在获取powerlevel10k 之前在我的行中添加该zmodload
行,但格式化不是我知道如何在没有叉子的情况下做的事情。~/.zshrc
${EPOCHSECONDS}
如果我按照我知道的方式做,我会这样做:
function prompt_epoch() {
MYEPOCH=$(printf "%'d" ${EPOCHSECONDS})
p10k segment -f 66 -t ${MYEPOCH}
}
但据我了解,每次调用提示时仍然会分叉一个进程,对吗?我是否误解了给出的建议,因为我认为我无法在不运行某种需要分叉的进程的情况下获得最新的纪元秒数,对吗?