linux 修改bash之PS1显示默认设置逐字详解
如下是cygwin下的bash配置值:
默认放在如下目录:
$cygwin\etc\bash.bashrc
对应的配置为:
PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '
下面就对PS1的配置逐字详解
说明:
'
表示开始或结束
\[\e]0;\w\a\]
\[ :表示非显示字符的开始
\e :转义序列的开始,转义序列就是一个让 shell 执行一个特殊步骤的控制指令。
] :开始定义文本格式
0 :提示符的文本的默认格式设置:0、1、22、4、24、5、25、7、27, 分别表示:默认值、粗体、非粗体、下划线、非下划线、闪烁、非闪烁、 反显、非反显。
; :各种定义的命令分隔符
\w :当前工作目录
\a :an ASCII bell character (07) ,用于发出一个声音
]表示非显示字符的结束
\n
表示换行
\[\e[32m\]
\[ :表示非显示字符的开始
\e :转义序列的开始,转义序列就是一个让 shell 执行一个特殊步骤的控制指令。
[ :开始定义颜色
32m: 前景色绿色, 对应值:30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)。
] :表示非显示字符的结束
\u
显示用户名
@
纯文本,直接显示
\h
显示主机名
\[\e[33m\]
\[ :非显示字符的开始
\e[33m :修改前景色为黄色
]:非显示字符的结束
\w
当前工作目录
\[\e[0m\]
修改前景色为默认色,详细分解同前一个.
\n
换行
\$
就是如果是root用户,显示#,其它用户显示$
'
表示开始或结束