显示路径跟xshell本身的设置没关系,是跟登录进去后的用户设置有关,显示路径的效果可以在命令行中打下面的命令:
export PS1=’[\u@\h \w]$ ‘
如果想每次登录进去都自动起作用,那就编辑用户目录下的.bash_profile,把刚刚这行加进去保存,那后面每次登录都能达到你要的效果。
vi ~/.bash_profile
加入一句 export PS1=’[\u@\h \w]$
环境变量 PS1
以 Bash shell 为例
一般默认的情况下.bashrc里面应该是:
~/.bashrc
export PS1=’ \u@\h:\w$ ’
上面的意思是:用户@主机:当前目录
转义序列要是通过彩色化提示符来增加个性化,就要用到转义序列。转义序列就是一个让shell执行一个特殊步骤的控制指令。转义序列通常都是以ESC开头(这也是它的命名原因)。在shell里表示为[.这种表示法需要一点时间去适应,也可以用\033完成相同的工作(ESC的ASCII码用十进制表示就是27,等于用八进制表示的033)代码:PS1=”[\033[1;32;40m[\033[0;32;40m\u@\h:\033[1;35;40m\w\033[1;32;40m]\033[1;31;40m$\033[1;32;40m]”最外边的”[]”是为了把转义序列的字符串括起来,防止转义序列的文本显示在shell里占用太多的空间。\033声明了转义序列的开始,然后是[开始定义颜色。后面的0定义了默认的字体宽度,接着的中间的数字定义字符颜色。最后面的数字定义了字符背景色。字母m是定义本身所必须的,字母m后面的字符就是你想改变的字符了。可选颜色:红色、绿色、黄色、蓝色、洋红、青色和白色。他们对应的颜色代码是:30(黑色)、31(红色)、32(绿色)、33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)。用同样色方法设置背景色,不过要把第一个数字“3”替换成“4”,例如40、41、42、43、44、45、46、47。比如上面我的定义中:最后显示的结果是在
转
义
序
列
要
是
通
过
彩
色
化
提
示
符
来
增
加
个
性
化
,
就
要
用
到
转
义
序
列
。
转
义
序
列
就
是
一
个
让
s
h
e
l
l
执
行
一
个
特
殊
步
骤
的
控
制
指
令
。
转
义
序
列
通
常
都
是
以
E
S
C
开
头
(
这
也
是
它
的
命
名
原
因
)
。
在
s
h
e
l
l
里
表
示
为
[
.
这
种
表
示
法
需
要
一
点
时
间
去
适
应
,
也
可
以
用
\0
33
完
成
相
同
的
工
作
(
E
S
C
的
A
S
C
I
I
码
用
十
进
制
表
示
就
是
27
,
等
于
用
八
进
制
表
示
的
033
)
代
码
:
P
S
1
=
”
[
\0
33
[
1
;
32
;
40
m
[
\0
33
[
0
;
32
;
40
m
\u
@
\h
:
\0
33
[
1
;
35
;
40
m
\w
\0
33
[
1
;
32
;
40
m
]
\0
33
[
1
;
31
;
40
m
$
\0
33
[
1
;
32
;
40
m
]
”
最
外
边
的
”
[
]
”
是
为
了
把
转
义
序
列
的
字
符
串
括
起
来
,
防
止
转
义
序
列
的
文
本
显
示
在
s
h
e
l
l
里
占
用
太
多
的
空
间
。
\0
33
声
明
了
转
义
序
列
的
开
始
,
然
后
是
[
开
始
定
义
颜
色
。
后
面
的
0
定
义
了
默
认
的
字
体
宽
度
,
接
着
的
中
间
的
数
字
定
义
字
符
颜
色
。
最
后
面
的
数
字
定
义
了
字
符
背
景
色
。
字
母
m
是
定
义
本
身
所
必
须
的
,
字
母
m
后
面
的
字
符
就
是
你
想
改
变
的
字
符
了
。
可
选
颜
色
:
红
色
、
绿
色
、
黄
色
、
蓝
色
、
洋
红
、
青
色
和
白
色
。
他
们
对
应
的
颜
色
代
码
是
:
30
(
黑
色
)
、
31
(
红
色
)
、
32
(
绿
色
)
、
33
(
黄
色
)
、
34
(
蓝
色
)
、
35
(
洋
红
)
、
36
(
青
色
)
、
37
(
白
色
)
。
用
同
样
色
方
法
设
置
背
景
色
,
不
过
要
把
第
一
个
数
字
“
3
”
替
换
成
“
4
”
,
例
如
40
、
41
、
42
、
43
、
44
、
45
、
46
、
47
。
比
如
上
面
我
的
定
义
中
:
最
后
显
示
的
结
果
是
在
号之前的字符全部用一个浅绿色的中括弧扩起来。
字符显示为红色。后面的输入显示为高亮浅绿色。在括弧里面,用户名@主机显示为深绿色,路径显示为洋红。用代码解释:Ps1=”[————−>最外面的括弧\033[1;32;40m[—−>定义最右边的”[”;1:字体宽度,好像有加亮功能。32:字符颜色。32表示绿色。40:背景色,40表示黑色。\033[0;32;40m\u@\h:———>定义右边的\u@\h:这几个字符颜色。0:默认字体宽度。32:字符颜色。绿色。40:背景颜色。黑色。\033[1;35;40m\w———>定义右边的\w(路径颜色)。1:字符宽度。加亮。35:字符颜色。洋红。40:背景色。黑色。\033[1;32;40m]———>定义右边的]字符。跟前面的[字符使用同一效果。\033[1;31;40m$———>定义了
字
符
显
示
为
红
色
。
后
面
的
输
入
显
示
为
高
亮
浅
绿
色
。
在
括
弧
里
面
,
用
户
名
@
主
机
显
示
为
深
绿
色
,
路
径
显
示
为
洋
红
。
用
代
码
解
释
:
P
s
1
=
”
[
—
—
—
—
−
>
最
外
面
的
括
弧
\0
33
[
1
;
32
;
40
m
[
—
−
>
定
义
最
右
边
的
”
[
”
;
1
:
字
体
宽
度
,
好
像
有
加
亮
功
能
。
32
:
字
符
颜
色
。
32
表
示
绿
色
。
40
:
背
景
色
,
40
表
示
黑
色
。
\0
33
[
0
;
32
;
40
m
\u
@
\h
:
—
—
—
>
定
义
右
边
的
\u
@
\h
:
这
几
个
字
符
颜
色
。
0
:
默
认
字
体
宽
度
。
32
:
字
符
颜
色
。
绿
色
。
40
:
背
景
颜
色
。
黑
色
。
\0
33
[
1
;
35
;
40
m
\w
—
—
—
>
定
义
右
边
的
\w
(
路
径
颜
色
)
。
1
:
字
符
宽
度
。
加
亮
。
35
:
字
符
颜
色
。
洋
红
。
40
:
背
景
色
。
黑
色
。
\0
33
[
1
;
32
;
40
m
]
—
—
—
>
定
义
右
边
的
]
字
符
。
跟
前
面
的
[
字
符
使
用
同
一
效
果
。
\0
33
[
1
;
31
;
40
m
$
—
—
—
>
定
义
了
字符 为红色。转义字符,所以前面加了 \ .
颜色都跟前面差不多。相信大家都发现规律了。
\033[1;32;40m
———-> 这个定义了你在命令行要输入命令显示的颜色。
]”
———–> 字符串结束括弧。
这个就是上面例子的详细定义内容。
其 实我的是没有关闭颜色转义序列,让自己输入的字符也改变颜色,整天看这黑白屏幕不爽哇!!如果不想改变输入颜色的话,用 \033[0m 关闭转义序列, \033[0m 是 shell 的默认颜色。按照上面的例子来说就是在 ]” 前面加上 \033[0m 即可。
够简单吧?
看看root下的shell:
rootshowG
这个也不错,是 Nico Golde的:
PS1=”[\033[0;37;44m\u@\033[0;32;43m\h:\033[0;33;41m\w$\033[0m]”