BASH Shell change the color of my shell prompt under Linux or UNIX

Q . How do I change the color of my shell prompt under Linux ?
A . You can change the color of your shell prompt to impress your friend or to make your own life quite easy while working at command prompt.
In the Linux default shell is BASH.
Your current prompt setting is stored in PS1 shell variable. There are other variables too, like PS2, PS3 and PS4.
Bash displays the primary prompt PS1 when it is ready to read a command, and the secondary prompt PS2 when it needs more input to complete a command. Bash allows these prompt strings to be customized by inserting a number of backslash-escaped special characters.
Task: Display current BASH prompt (PS1)
Use echo command to display current BASH prompt: $ echo $PS1 Output:
[//u@/h //W]//$

By default the command prompt is set to: [/u@/h /W]/$. Backslash-escaped special characters are decoded as follows:
  • /u : Display the current username
  • /h : Display the hostname
  • /W : Print the current working directory

  • Task: Modify current BASH prompt
    Use export command to setup a new shell prompt: $ export PS1="[//u@//H //W //@]//$"
    Where,
  • /H : Display FQDN hostname
  • /@ : Display current time in 12-hour am/pm format

  • Task: Add colors to the prompt
    To add colors to the shell prompt use the following export command syntax: '/e[x;ym $PS1 /e[m'
    Where,
  • /e[ Start color scheme
  • x;y Color pair to use (x;y)
  • $PS1 is your shell prompt
  • /e[m Stop color scheme

  • To set a red color prompt, type the command: $ export PS1="/e[0;31m[/u@/h /W]/$ /e[m "
    List of Color code
    Color
    Code
    Black
    0;30
    Blue
    0;34
    Green
    0;32
    Cyan
    0;36
    Red
    0;31
    Purple
    0;35
    Brown
    0;33
    Blue
    0;34
    Green
    0;32
    Cyan
    0;36
    Red
    0;31
    Purple
    0;35
    Brown
    0;33
    Replace digit 0 with 1 to get light color version.
    Task: How to make the prompt setting permanent
    Your new shell prompt setting is temporary i.e. when you logout setting will be lost. To have it set everytime you login to your workstation add above export command to your .bash_profile file or .bashrc file. $ cd
    $ vi .bash_profile
    OR $ vi .bashrc Append export line: export PS1="/e[0;31m[/u@/h /W]/$ /e[m"
    Save and close the file.
    tput command
    You can also use tput command. For example display RED prompt use tput as follows: export PS1="/[$(tput setaf 1)/]/u@/h:/w $ /[$(tput sgr0)/]"
    handy tput commands
  • tput bold - Bold effect
  • tput rev - Display inverse colors
  • tput sgr0 - Reset everything
  • tput setaf {CODE}- Set foreground color, see color {CODE} below
  • tput setab {CODE}- Set background color, see color {CODE} below

  • Colors {code} code for tput command
    Color {code}
    Color
    0
    Black
    1
    Red
    2
    Green
    3
    Yellow
    4
    Blue
    5
    Magenta
    6
    Cyan
    7
    White
    Read the man page of bash and tput command for more information.

    좋은 웹페이지 즐겨찾기