When I start terminal in Ubuntu, I see:
ilya@HOST:~$
I need to add a timestamp to this, something like:
2011-10-09T09:32:00 ilya@HOST:~$
How can I configure this?
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.
Sign up to join this communityPut this at end of your ~/.bashrc
PS1="\D{%F}T\t $PS1"
Then restart your terminal. For explanations, read manual page of bash, search for ^PROMPTING
(sorry, the first version of this answer reported erroneously single quotes instead of double)
There is a good article about how to change your bash prompt and what all the special symbols (like \h) mean. It also has a link about how to change the colors in you prompt.
As far as applying the changes in your .bashrc, just run source ~/.bashrc
To apply the ~/.bashrc change type this inside the running terminal:
exec bash
No need to restart the terminal. This is useful for each change (in the terminal environment)
I find that a great setup is to have 3 colourized groups:
Plus a newline so you are back to the left side!
i.e.
You can have all this by having the following in your .bashrc file in your home directory.
Works for Unix and OS X
parse_git_branch () {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;33m\]$(parse_git_branch)\[\033[00m\]\n\$ '
If you want this plus your timestamps in four colors you can have:
$ PS1='\033[01;31m\] \D{%F} \t \[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;33m\]$(parse_git_branch)\[\033[00m\]\n\$ '
as in:
though personally I think I'll now go with:
parse_git_branch () {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'
}
PS1='\033[01;31m\]\t\033[00m\]:'
PS1=$PS1'\[\033[01;32m\]\u@\h\[\033[00m\]:'
PS1=$PS1'\[\033[01;34m\]\w\033[00m\]:\033[01;33m\]$(parse_git_branch)\[\033[00m\]\n\$ '
PS2='\[\033[01;36m\]>'
for
To do this temporarily but immediately/on-the-fly, for example so that you can have some privacy while making a screencast, you can do the following
echo PS1='$\ ' > /tmp/ps1 && source /tmp/ps1 && rm /tmp/ps1
The PS1 variable sets the format, source applies that setting by reading from a file.
Now the command line looks like this:
$