个性化PS1变量

##PS1是个啥? 鸟哥的书中关于PS1这么说的:

这是 PS1 (数字的 1 不是英文字母),这个东西就是我们的『命令提示字符』喔! 当我们每次按下 [Enter] 按键去运行某个命令后,最后要再次出现提示字符时, 就会主动去读取这个变量值了。上头 PS1 内显示的是一些特殊符号,这些特殊符号可以显示不同的信息, 每个 distributions 的 bash 默认的 PS1 变量内容可能有些许的差异,不要紧,『习惯你自己的习惯』就好了。 你可以用 man bash (注3)去查询一下 PS1 的相关说明,以理解底下的一些符号意义。

总结来说,这个环境变量主要控制这命令提示符(也就是终端里的wgjak47@wgjak47-M410:~$)的样式。 ubuntu下这个变量值默认为\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ 而其中{debian_chroot:+($debian_chroot)} 这句的意思是说,如果在/etc下有debian_chroot文件,则命令提示符前面就附加上debian_chroot文件的内容。关于:+这个语法的可以参考:[linux bash shell之变量替换][http://my.oschina.net/u/1242185/blog/357330]

根据man page,PS1的常用的变量值有以下项:

\a 一个 ASCII 响铃字符 (010)
\d 日期,格式是 "星期 月份 日" (例如,"Tue May 26")
\D{format}
format 被传递给 strftime(3),结果被插入到提示字符串中; 空的 format 将使用语言环境特定的时间格式。花括号是必需的
\e 一个 ASCII 转义字符 (033)
\h 主机名,第一个 `.' 之前的部分
\H 主机名
\j shell 当前管理的作业数量
\l shell 的终端设备名的基本部分
\n 新行符
\r 回车
\s shell 的名称, $0 的基本部分 (最后一个斜杠后面的部分)
\t 当前时间,采用 24小时制的 HH:MM:SS 格式
\T 当前时间,采用 12小时制的 HH:MM:SS 格式
@ 当前时间,采用 12小时制上午/下午 (am/pm) 格式
\A 当前时间,采用 24小时制上午/下午格式
\u 当前用户的用户名 the username of the current user
\v bash 的版本 (例如,2.00)
\V bash 的发行编号,版本号加补丁级别 (例如,2.00.0)
\w 当前工作目录
\W 当前工作目录的基本部分
! 此命令的历史编号
# 此命令的命令编号
$ 如果有效 UID 是 0,就是 #, 其他情况下是 $
\nnn 对应八进制数 nnn 的字符
\ 一个反斜杠
[ 一个不可打印字符序列的开始,可以用于在提示符中嵌入终端控制序列
] 一个不可打印字符序列的结束
通过设置PS1变量可以得到你希望的提示符样式。

更进一步:彩色化 这个其实没什么太大用处,只是让提示符更好看一些。 PS1环境变量支持以下色彩和特效:

颜色表

前景 背景 颜色

30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫色
36 46 青色
37 47 白色

代码 意义

0 OFF
1 高亮显示
4 underline
5 闪烁
7 反白显示
8 不可见

使用方法:

在PS1中配置字符序列颜色的格式为:

[\e[F;Bm]

基本上是夹在 "\e["(转义开方括号)和 "m" 之间数字值。假如指定一个以上的数字代码,则用分号将他们分开。

其中 F 为字体颜色,编号30~37; B 为背景色,编号40~47。

可通过 \e[0m 关闭颜色输出;特别的,当B为1时,将显示加亮加粗的文字,请看下面的颜色表和代码表。

例: export PS1="\[\e[32;1m\]\u@\[\e[32;1m\]\H\$ \[\e[0m\]"

转载于:https://my.oschina.net/u/1242185/blog/357363

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值