Sometime I run one or the other command in Terminal that generates a huge output - I may even do it a few times - to then have to scroll back and see what the original command was. For this purpose I wanted to have the Bash prompt bold.
So for example instead of this:
MAC_PRO:~ hans$ ls
Applications Downloads MountPoints Pictures tmp
Desktop Dropbox Movies Public
Documents Library Music
I'd like to see this:
MAC_PRO:~ hans$ ls
Applications Downloads MountPoints Pictures tmp
Desktop Dropbox Movies Public
Documents Library Music
To accomplish this, I would have to need to change the "PS1" environment variable, which by default is:
"\h:\W \u\$ "
(below you'll find a comprehensive list of codes you can use in your prompt, for example time stamp etc)
To make the prompt bold you'd need to change the value of PS1 as follows:
export PS1="\[\033[1m\]\h:\W \u\$\[\033[m\] "
Here \[\033[1m\] starts bold and \[\033[m\] ends bold.
\h = hostname, \W = basename directory, \u = username and a space to keep it what ever you type separated.
Now this will disappear when closing Terminal and you'd have to set this each time - quite annoying of course.
To make it permanent, you'll need to create (or edit) the file ~/.bash_profile and add the export line there (at the end or beginning - it doesn't seem to matter where).
See the effect in action in the attached screenshot.
Note: Some more options to add to your bash prompt;
\a # an ASCII bell character (07)
\d # the date in "Weekday Month Date" format (e.g., "Tue May 26")
\D{format} # the format is passed to strftime(3) and the result
# is inserted into the prompt string an empty format
# results in a locale-specific time representation.
# The braces are required
\e # an ASCII escape character (033)
\h # the hostname up to the first '.'
\H # the hostname
\j # the number of jobs currently managed by the shell
\l # the basename of the shell's terminal device name
\n # newline
\r # carriage return
\s # the name of the shell, the basename of $0 (the portion following
# the final slash)
\t # the current time in 24-hour HH:MM:SS format
\T # the current time in 12-hour HH:MM:SS format
\@ # the current time in 12-hour am/pm format
\A # the current time in 24-hour HH:MM format
\u # the username of the current user
\v # the version of bash (e.g., 2.00)
\V # the release of bash, version + patch level (e.g., 2.00.0)
\w # the current working directory, with $HOME abbreviated with a tilde
\W # the basename of the current working directory, with $HOME
# abbreviated with a tilde
\! # the history number of this command
\# # the command number of this command
\$ # if the effective UID is 0, a #, otherwise a $
\nnn # the 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