Bash 提示符显示 HH:MM:SS

Bash 提示符显示 HH:MM:SS

我从这个问题中学到了日期 - HH:MM:SS(带AM / PM)Bash提示符的12小时时间戳 - Unix&Linux CodeGo.net并将我的提示微调为:

export PS1='\D{%r}:\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]:\n$ '
08:52:31 PM:me@host:~:
$

时间格式不太舒服,我想要的结果是

   08:52PM me@host~:

我怎样才能得到这样的 HH:MM(AM/PM) 格式\

最终结果

export  PS1='\D{%I:%M%p %d/%m %A}:\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]:\n$ '

10:45PM 18/03 Monday:me@host:~:

$ ls'$tty'

答案1

支持的格式记录在 中man date。因此,

   %r     locale's 12-hour clock time (e.g., 11:11:04 PM)

您可以使用

   %I     hour (01..12)
   %M     minute (00..59)
   %p     locale's equivalent of either AM or PM; blank if not known

因此\D{%r}改为\D{%I:%M%p}

答案2

使用\@(12 小时上午/下午格式的当前时间)而不是\D{%r},以HH:MM (AM|PM)格式生成时间。

相关内容