Bash provides an environment variable called PROMPT_COMMAND. The contents of this variable are executed as a regular Bash command just before Bash displays a prompt. .:: telegra.ph ::. .:: telegra.ph ::. .:: addons.mozilla.org ::. .:: sites.google.com ::. .:: p.mobile9.com ::.
[21:55:01][giles@nikola:~] PS1="[\u@\h:\w]\$ " [giles@nikola:~] PROMPT_COMMAND="date +%H%M" 2155 [giles@nikola:~] d bin mail 2156 [giles@nikola:~] |
What happened above was that I changed PS1 to no longer include the [Issues with Bash] .:: partners.skanska.com ::. \t escape sequence (added in a previous section), so the time was no longer a part of the prompt. Then I used .:: podcasts.apple.com ::. .:: all4webs.com ::. .:: s88vipuscom1.livebloggs.com ::. .:: podcasts.apple.com ::. date +%H%M to display the time in a format I like better. But it appears on a different line than the prompt. Tidying this up using .:: telegra.ph ::. .:: www.tumblr.com ::. .:: facebook-list.com ::. .:: addons.mozilla.org ::. echo -n ... as shown below works with Bash 2.0+, but appears not to work with Bash 1.14.7: apparently the prompt is drawn in a different way, and the following method results in overlapping text. .:: computer.ju.edu.jo ::. .:: scanverify.com ::. .:: firstrainingsalud.edu.pe ::. .:: forum.skullgirlsmobile.com ::. .:: privatter.net ::. .:: archive.org ::. [Academic results for Apache Hadoop] .:: mx.pinterest.com ::.
2156 [giles@nikola:~] PROMPT_COMMAND="echo -n [$(date +%H%M)]" [2156][giles@nikola:~]$ [2156][giles@nikola:~]$ d bin mail [2157][giles@nikola:~]$ unset PROMPT_COMMAND [giles@nikola:~] |
echo -n ... controls the output of the date command and suppresses the trailing newline, allowing the prompt to appear all on one line. At the end, I used the .:: land-book.com ::. .:: mozillabd.science ::. unset command to remove the PROMPT_COMMAND environment variable.