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

來源:互聯網
上載者:User
文章目錄
  • Task: Display current BASH prompt (PS1)
  • Task: Modify current BASH prompt
  • Task: Add colors to the prompt
  • Task: How to make the prompt setting permanent
  • tput command
  • handy tput commands
  • Colors {code} code for tput command

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.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.