BASH-usage
Contents
Descended from the Bourne Shell, Bash is a GNU product, the "Bourne Again SHell." It's the standard command line interface
on most Linux and *NIX machines. It excels at interactivity, supporting command line editing, completion, and recall. It
also supports configurable prompts - most people realize this, but don't know how much can be done.
Changing the prompt goes in two ways. You can either set the variable PS1 in your
.bashrc or in /etc/profile. When you do this, you need to log-out and log-in everytime to view the changes.
An easier way is by setting the environment variable PS1 directly on the commandline. This way you get a direct result and
changes only last for your current session.
These settings are possible for the prompt :
\a an ASCII bell character (07)
\d the date in "Weekday Month Date" format
(e.g., "Tue May 26")
\e an ASCII escape character (033)
\h the hostname up to the first `.'
\H the hostname
\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
\u the username of the current user
\v the version of bash (e.g., 2.00)
\V the release of bash, version + patchlevel
(e.g., 2.00.0)
\w the current working directory
\W the basename of the current working direc-
tory
\! 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 con-
trol sequence into the prompt
\] end a sequence of non-printing characters
My personal favorite for my BASH-prompt is this :
- use a combination of
ESC and the dot (.) to print the last entered parameter
!xxx will return the xxx-nth command in the bash-history
|