Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

I was wondering if it was possible to add timestamps to terminal prompts, and if so, how could I achieve this?

share|improve this question

4 Answers 4

up vote 14 down vote accepted

Add this line to the .bashrc file

export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "

So the output will be something like:

[07:00:31] user@name:~$

share|improve this answer
    
Sometimes I experince that the time is not correct and is older, like there is some kind of delay. I though I could use it to see how long certain commands take (grunt..). How can that be? –  Kevin Simper Mar 19 '14 at 15:12
    
@devav2: Is there a way to specify the timezone? –  Hippo Jul 25 at 23:05

Instead of adding the date to the prompt itself, you could add the date just before your prompt by placing the following line at the top of your .bashrc. For it work you will also need to install cowsay. It's a fun way of displaying the date while keeping a short prompt:

cowsay "Welcome $USER! It's now $(date '+%A %B %d %Y %r')"

In its current form it will work on anyone's system without amendment as it reads the $USER and the date variable from the current environment.

enter image description here

share|improve this answer

Since I don't have enough reputation points to add a comment to the answer to improve it. It would seem that the only way I can add information is to create a second answer. So, I will repeat what was said as the answer and build on that.

Edit the .bashrc file for the user that you want to have the date stamp modified for.

If you see "user@host:~$" you're in your current user's home directory. The .bashrc file is a hidden file since it is prefixed with the dot ".". To see it in a list you will need to use a long listing.

You can use "ls -a" and you should then see the ".bashrc" file.

Edit the file with a text editor. For exmaple, "nano .bashrc", "vim .bashrc", "vi .bashrc", "pico .bashrc" or whatever editor you wish to use.

If you want to script this and plan on adding it to many shells for many users it may be beneficial to use the "echo" command in conjunction with the append ">>" operator. For example,

echo "export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"" >> .bashrc

If you use that method be sure that you are in the current working directory of the user that you wish to modify it for. To check this you can use the "pwd" or print working directory command.

If you don't like the extra space between the "]" end bracket and the username just use this very slightly modified regex:

export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"

Use this if you're directly editing the file.

share|improve this answer
    
You can suggest edits. –  muru Jan 8 at 20:24
export PROMPT_COMMAND=date

prints the date before issuing each prompt.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.