Wednesday, September 29, 2004

BASHing Your Prompt

Customizing how your command line prompt looks like isn't just cool. It can also be rather useful. You can change your prompt by running the following command: PS1=" ". For example, PS1="[\t] [ \u@\h \W]\$ " will change your command line to something that resembles this: [21:52:01][user@hostname :~]$. To permanently change this, you'll have to alter this in ~/.bashrc

Here are the options available:

\a an ASCII bell character (07)
\dthe date in "Weekday Month Date" format (e.g., "Tue May 26")
\ean ASCII escape character (033)
\hthe hostname up to the first `.'
\Hthe hostname
\jthe number of jobs currently managed by the shell
\lthe basename of the shell's terminal device name
\nnewline
\rcarriage return
\sthe name of the shell, the basename of $0 (the portion following the final slash)
\tthe current time in 24-hour HH:MM:SS format
\Tthe current time in 12-hour HH:MM:SS format
\@the current time in 12-hour am/pm format
\uthe username of the current user
\vthe version of bash (e.g., 2.00)
\Vthe release of bash, version + patchlevel (e.g., 2.00.0)
\wthe current working directory
\Wthe basename of the current working directory
\!the history number of this command
\#the command number of this command
\$if the effective UID is 0, a #, otherwise a $
\nnnthe character corresponding to the octal number nnn
\\a backslash
\[begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt
\]end a sequence of non-printing characters