lartpang / LinuxNote

:penguin: Store some notes about linux.
12 stars 1 forks source link

美化Bash提示符 #10

Open lartpang opened 5 years ago

lartpang commented 5 years ago

美化Bash提示符

问题介绍

Bash本身输出较为简单, 如何进一步美化提示符是这里要讨论的问题.

造成原因

默认设置较为简单.

解决方案

对于终端的美化, 可以通过对 PS1 变量进行赋值来进行.

vim .bashrc
#添加下行
export PS1="Time:\[\033[1;35m\]\T     \[\033[0m\]User:\[\033[1;33m\]\u     \[\033[0m\]Dir:\[\033[1;32m\]\w\[\033[0m\]\n\$"
# 退出vim
source .bashrc

后面解释具体含义.

颜色配置

\[\033[1;31m\]

\[\033[0m\]

显示内容配置

字符 含义
\d "周 月 日"格式的日期
\D{format} 参数format被传递给strftime(3)来构造自定格式的时间并插入提示符中; 该参数为空时根据本地化设置自动生成格式.
\e ASCII转义字符(ESC) (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小时) HH: MM
\u 当前用户名称
\v bash版本(如"2.00")
\V bash版本+补丁号(如"2.00.0")
\w 当前工作目录
\W 当前工作目录的基本名称
\! 该命令的历史数(在历史文件中的位置)
\# 该命令的命令数(当前shell中执行的序列位置)
\$ 根用户为"#", 其它用户为"$"
\nnn 8进制数
\\ 反斜杠
\[ 表示跟在后面的是非打印字符, 可用于shell的颜色控制
\] 表示非打印字符结束

参考链接