2.4. The First Step
The appearance of the prompt is governed by the shell variable PS1.
Command continuations are indicated by the PS2 string, which can be
modified in exactly the same ways discussed here - since controlling it is
exactly the same, and it isn't as "interesting," I'll mostly be modifying
the PS1 string. (There are also PS3 and PS4 strings. These are never seen
by the average user - see the Bash man page if you're interested in their
purpose.) To change the way the prompt looks, you change the PS1 variable.
For experimentation purposes, you can enter the PS1 strings directly at the
prompt, and see the results immediately (this only affects your current
session, and the changes go away when you exit the current shell). If you
want to make a change to the prompt permanent, look at the section below
Section 2.6.
Before we get started, it's important to remember that the PS1 string is
stored in the environment like any other environment variable. If you
modify it at the command line, your prompt will change. Before you make
any changes, you can save your current prompt to another environment
variable:
[giles@nikola giles]$ SAVE=$PS1
[giles@nikola giles]$ |
The simplest prompt would be a single character, such as:
[giles@nikola giles]$ PS1=$
$ls
bin mail
$ |
This demonstrates the best way to experiment with basic prompts, entering
them at the command line. Notice that the text entered by the user
appears immediately after the prompt: I prefer to use
$PS1="$ "
$ ls
bin mail
$ |
which forces a space after the prompt, making it more readable. To restore
your original prompt, just call up the variable you stored:
$ PS1=$SAVE
[giles@nikola giles]$ |