web-dev-qa-db-fra.com

Affichage de l'invite Bash HH: MM: SS

J'ai appris de la question date - HH: MM: SS (avec AM/PM) Horodatage de 12 heures pour l'invite Bash - Unix et Linux Stack Exchange et affiner mon invite comme:

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:~:
$

Le format de l'heure n'est pas très confortable, le résultat que je souhaite est

   08:52PM me@Host~:

Comment pourrais-je obtenir un tel format HH: MM (AM/PM) \

Le résultat final

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'

4
Alice

Les formats pris en charge sont ceux documentés dans man date. Donc au lieu de

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

vous pouvez utiliser

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

Alors changez \D{%r} à \D{%I:%M%p}

5
steeldriver

Utilisez \@ (L'heure actuelle au format 12 heures am/pm) au lieu de \D{%r}, Qui génère des heures au format HH:MM (AM|PM).

4
xenoid