概述
用户进入 Bash 以后,Bash 会显示一个命令提示符,用来提示用户在该位置后面输入命令。
环境变量 PS1
命令提示符通常是美元符号$
,对于根用户则是井号#
。这个符号是环境变量PS1
决定的,执行下面的命令,可以看到当前命令提示符的定义。
$ echo $PS1
Bash 允许用户自定义命令提示符,只要改写这个变量即可。改写后的PS1
,可以放在用户的 Bash 配置文件.bashrc
里面,以后新建 Bash 对话时,新的提示符就会生效。要在当前窗口看到修改后的提示符,可以执行下面的命令。
$ source ~/.bashrc
命令提示符的定义,可以包含特殊的转义字符,表示特定内容。
a
:响铃,计算机发出一记声音。d
:以星期、月、日格式表示当前日期,例如“Mon May 26”。h
:本机的主机名。H
:完整的主机名。j
:运行在当前 Shell 会话的工作数。l
:当前终端设备名。s
:Shell 的名称。hours:minutes:seconds
格式表示当前时间。T
:12小时制的当前时间。@
:12小时制的AM/PM
格式表示当前时间。A
:24小时制的hours:minutes
表示当前时间。u
:当前用户名。v
:Shell 的版本号。V
:Shell 的版本号和发布号。w
:当前的工作路径。W
:当前目录名。!
:当前命令在命令历史中的编号。#
:当前 shell 会话中的命令数。$
:普通用户显示为$
字符,根用户显示为#
字符。[
:非打印字符序列的开始标志。]
:非打印字符序列的结束标志。
举例来说,[u@h W]$
这个提示符定义,显示出来就是[user@host ~]$
(具体的显示内容取决于你的系统)。
[user@host ~]$ echo $PS1
[u@h W]$
改写PS1
变量,就可以改变这个命令提示符。
$ PS1="A h $ "
17:33 host $
注意,$
后面最好跟一个空格,这样的话,用户的输入与提示符就不会连在一起。
颜色
默认情况下,命令提示符是显示终端预定义的颜色。Bash 允许自定义提示符颜色。
使用下面的代码,可以设定其后文本的颜色。