zoukankan      html  css  js  c++  java
  • [quote] colour your linux command line

    from

    http://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/

    BASH Shell: Change The Color of My Shell Prompt Under Linux or UNIX

    by on October 6, 2006 · 54 comments· LAST UPDATED March 6, 2013

    in , ,

    How do I change the color of my shell prompt under Linux or Unix operating systems?

    You can change the color of your shell prompt to impress your friend or to make your own life quite easy while working at the command prompt. BASH shell is the default under Linux and Apple OS X. Your current prompt setting is stored in a shell variable called PS1. There are other variables too, like PS2, PS3 and PS4.

    Tutorial details 
    Difficulty Easy (rss)
    Root privileges No
    Requirements Bash
    Estimated completion time N/A


    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 the echo command to display current BASH prompt:
    $ echo $PS1
    Sample outputs:

    [\u@h \W]\$

    Here is another output from my Debian based system:
    $ echo $PS1
    Sample outputs:

    [e]0;u@h: wa]${debian_chroot:+($debian_chroot)}u@h:w$

    By default the command prompt is set to [u@h W]$. The backslash-escaped special characters are decoded as follows:

    • u: Display the current username .
    • h: Display the hostname
    • W: Print the base of current working directory.
    • $: Display # (indicates root user) if the effective UID is 0, otherwise display a $.

    Task: Modify current BASH prompt

    Use the export command to setup a new shell prompt:
    $ export PS1="[\u@\H \W \@]\$"
    Sample outputs:

    Fig.01: New prompt in action

    Fig.01: New prompt in action


    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 : Your shell prompt variable.
    • e[m : Stop color scheme.

    To set a red color prompt, type the following command:
    $ export PS1="e[0;31m[u@h W]$ e[m "
    Sample outputs:

    Fig.02: Adding the colors to the prompt

    Fig.02: Adding the colors to the prompt

    A list of color codes

    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

    Note: You need to replace digit 0 with 1 to get light color version.

    Task: How do I make the prompt setting permanent?

    Your new shell prompt setting set by $PS1 is temporary i.e. when you logout setting will be lost. To have it set every time you login to your workstation add above export command to your $HOME/.bash_profile file or $HOME/.bashrc file.
    $ cd
    $ vi .bash_profile

    OR
    $ vi $HOME/.bashrc
    Append the following line:
    export PS1="e[0;31m[u@h W]$ e[m"
    Save and close the file.

    Say hello to tput command

    You can also use tput command to set terminal and modify the prompt settings. For example, to display RED color prompt using a tput:
    export PS1="[$(tput setaf 1)]u@h:w $ [$(tput sgr0)]"

    A list of handy tput command line options

    • tput bold - Bold effect
    • tput rev - Display inverse colors
    • tput sgr0 - Reset everything
    • tput setaf {CODE}- Set foreground color, see color {CODE} table below for more information.
    • tput setab {CODE}- Set background color, see color {CODE} table below for more information.

    Various color codes for the tput command

    Color {code} Color
    0 Black
    1 Red
    2 Green
    3 Yellow
    4 Blue
    5 Magenta
    6 Cyan
    7 White
    Recommend readings
  • 相关阅读:
    ASP.NET Web API中通过URI显示实体中的部分字段
    ASP.NET Web API中把分页信息放Header中返回给前端
    写一个针对IQueryable<T>的扩展方法支持动态排序
    Perl处理和收走子进程(退出状态码和wait)
    Perl多进程
    Perl信号处理
    大话西游之大圣娶亲中的至尊宝和紫霞仙子
    Perl List::Util模块用法详解
    Python面向对象:杂七杂八的知识点
    Python迭代和解析(5):搞懂生成器和yield机制
  • 原文地址:https://www.cnblogs.com/lake-of-embedded-system/p/3510716.html
Copyright © 2011-2022 走看看