【原】解决PS1的显示问题,busybox的/u /h特殊字符解析问题

来源:互联网 发布:51单片机isp下载 编辑:程序博客网 时间:2024/04/30 08:21

在制作文件系统的时候,会用到 /etc/profile,里面有PS1变量,一般为:


PS1="[/u@/h /W]# "

 

/u等特殊字符分别表示的是当前用户、主机名和当前目录。但是我制作完以后进入到系统,发现还是原样显示上述字符。

 

网上找了半天没找到。

后来一个同事帮我搞定了,原来是busybox的配置问题,分享一下:

make menuconfig

busybox settings->busybox library tuning->username completion、fancy shell prompts选上。

重新make即可。

nnd,官方的默认配置真是不厚道。

 

//-------------------------这里有个详细解析,转过来--------------------------------

例子中的32;1m数字的位置是可以对调的如/e[1;32m,如果是在X环境下可以更换一下1的范围0~10,可能有的没用处:0或者不写(/e[0;32m或/e[;32m)显示浅颜色,1:显示高亮 4:加下划线.....如果改后的效果不好,但是又还原不了,那就不写m前面的数字,如/e[32;m,或者直接注销再登陆

/u /h /W:这是一些转义字符,下面详细解释:

/d :代表日期,格式为weekday month date,例如:"Mon Aug 1"

/H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux

/h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略

/t :显示时间为24小时格式,如:HH:MM:SS

/T :显示时间为12小时格式

/A :显示时间为24小时格式:HH:MM

/u :当前用户的账号名称

/v :BASH的版本信息

/w :完整的工作目录名称。家目录会以 ~代替

/W :利用basename取得工作目录名称,所以只会列出最后一个目录

/# :下达的第几个命令

/$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

/n :新建一行

字体并不局限于一个颜色,可以有多个颜色:

PS1="[/e[32;1m/u@/e[35;1m/h /e[31;1m/W]//$”

以上两个命令在注销后再登陆就失效了,用下面方法使其永久生效:

#vi /etc/profile

在”export PATH …..”的下面添加上这么一行:

export PS1=”[/e[32;1m/u@/h /W]//$”

0 0