同样是linux,为什么shell登录后显示的前缀会不同呢,有些显示包含当前的用户名、主机名等信息,而有些仅显示一个#,如下图:
其实,shell登陆后具体显示的内容由环境变量”PS1″控制,我们可以
echo $PS1
查看一下当前的”PS1″环境变量的内容
通过修改用户的“home”目录下的.bashrc配置文件,添加内容
export PS1=”\u@\h \w> ”
或修改全局配置文件”/etc/profile”
具体的配置内容见这篇文章:
http://www.thegeekstuff.com/2008/09/bash-shell-ps1-10-examples-to-make-your-linux-prompt-like-angelina-jolie/
文章目录 [显示]
The PS1 in this example displays the following three information in the prompt:
-bash-3.2$ export PS1="\u@\h \w> "
ramesh@dev-db ~> cd /etc/mail
ramesh@dev-db /etc/mail>
In the PS1 environment variable, you can directly execute any Linux command, by specifying in the format $(linux_command). In the following example, the command $(date) is executed to display the current time inside the prompt.
ramesh@dev-db ~> export PS1="\u@\h [\$(date +%k:%M:%S)]> "
ramesh@dev-db [11:09:56]>
You can also use \t to display the current time in the hh:mm:ss format as shown below:
ramesh@dev-db ~> export PS1="\u@\h [\t]> "
ramesh@dev-db [12:42:55]>
You can also use \@ to display the current time in 12-hour am/pm format as shown below:
ramesh@dev-db ~> export PS1="[\@] \u@\h> "
[04:12 PM] ramesh@dev-db>
You can display output of any Linux command in the prompt. The following example displays three items separated by | (pipe) in the command prompt:
ramesh@dev-db ~> kernel_version=$(uname -r)
ramesh@dev-db ~> export PS1="\!|\h|$kernel_version|\$?> "
473|dev-db|2.6.25-14.fc9.i686|0>
Display prompt in blue color, along with username, host and current directory information
$ export PS1="\e[0;34m\u@\h \w> \e[m" [Note: This is for light blue prompt] $ export PS1="\e[1;34m\u@\h \w> \e[m" [Note: This is for dark blue prompt]
Color Code Table:
Black 0;30 Blue 0;34 Green 0;32 Cyan 0;36 Red 0;31 Purple 0;35 Brown 0;33 [Note: Replace 0 with 1 for dark color]
Make the color change permanent by adding the following lines to .bash_profile or .bashrc
STARTCOLOR='\e[0;34m';
ENDCOLOR="\e[0m"
export PS1="$STARTCOLOR\u@\h \w> $ENDCOLOR"
Change the background color by specifying \e[{code}m in the PS1 prompt as shown below.
$ export PS1="\e[47m\u@\h \w> \e[m"
[Note: This is for Light Gray background]
Combination of background and foreground
export PS1="\e[0;34m\e[47m\u@\h \w> \e[m"
[Note: This is for Light Blue foreground and Light Gray background]
Add the following to the .bash_profile or .bashrc to make the above background and foreground color permanent.
STARTFGCOLOR='\e[0;34m'; STARTBGCOLOR="\e[47m" ENDCOLOR="\e[0m" export PS1="$STARTFGCOLOR$STARTBGCOLOR\u@\h \w> $ENDCOLOR"
Play around by using the following background color and choose the one that suites your taste:
You can also display multiple colors in the same prompt. Add the following function to .bash_profile
function prompt { local BLUE="\[\033[0;34m\]" local DARK_BLUE="\[\033[1;34m\]" l
原创文章,转载请注明: 转载自 吴川斌的博客 http://www.mr-wu.cn/
本文链接地址: Linux shell控制台改变显示前缀 http://www.mr-wu.cn/bash-shell-ps1/
文章评论(0条评论)
登录后参与讨论