UNIX Tutorials, Tips, Tricks and Shell Scripts

Changing your Command Prompt (the PS1 shell variable)

The UNIX shell displays a command prompt when the system is ready to accept commands on the command line. The default command prompt is a single character (typically $ or #).

Changing or customizing the command prompt makes your life easier when jumping from system to system, or when logging in as multiple users on a single system (e.g. your personal/non-privileged account and root). To customize your prompt you will need to modify the PS1 shell variable.

PS1 stands for "prompt string 1" and defines the primary prompt string. If you wanted your command prompt to contain the current username and hostname separated by the "@" character and enclosed in brackets (e.g. [root@hawk] #), PS1 would need to be re-defined with the following command(s):

export PS1="[${LOGNAME}@$(hostname)] # "


PS1="[${LOGNAME}@$(hostname)] # "
export PS1

The shell variable LOGNAME contains the username you logged in with, and $(hostname) will execute the hostname command which will print the name of the current host system. Exporting PS1 makes it available to any subshells you create during the login session.

Since PS1 in this example was re-defined on the command line, it will be lost as soon as you log out. To retain this definition across login sessions you will need to add the previous command(s) to your shell initialization file (.profile if the Korn shell is your default shell).

NOTE: The commands in this tip were tested with the Korn shell only.

Do you need to learn UNIX or Linux, including how to read and write shell scripts? If you are ready to move past the basics, either of these online courses is a good place to start...

UNIX and Linux Operating System Fundamentals contains a very good "Introduction to UNIX Shell Scripting" module, and should be taken if you are new to the UNIX and Linux operating system environments or need a refresher on key concepts.

UNIX Shell Scripting is a good option if you are already comfortable with UNIX or Linux and just need to sharpen your knowledge about shell scripting and the UNIX shell in general.

Both courses include access to a real server for completing the course's hands-on exercises, which are used to re-enforce the key concepts presented in the course. Any questions you may have while taking the course are answered by an experienced UNIX technologist.

Thanks for reading, and have a terrific day!!!

Has this article been helpful to you? Would it benefit others? If you answered "yes" to either question, kindly share the page.

Thank you for sharing!