linux命令提示符是由PS1、PS2变量定义的。默认的值为"[\u@\h \W]\\$ " 全局的PS1变量在/etc/bashrc文件中有定义,如果是普通用户提示符最后显示$,root用户显示#。下面为定义PS1变量时可用的变量:
| 字符 | 含义 |
| \! | 显示该命令的历史记录编号。 |
| \# | 显示当前命令的命令编号。 |
| \$ | 显示$符作为提示符,如果用户是root的话,则显示#号。 |
| \\ | 显示反斜杠。 |
| \d | 显示当前日期。 |
| \h | 显示主机名。 |
| \n | 打印新行。 |
| \nnn | 显示nnn的八进制值。 |
| \s | 显示当前运行的shell的名字。 |
| \t | 显示当前时间。 |
| \u | 显示当前用户的用户名。 |
| \W | 显示当前工作目录的名字。 |
| \w | 显示当前工作目录的路径。 |
这些特殊字符能组合成很多种有用的提示符方案(也可以组合为很奇异的方案),例如把 PS1 设为:
PS1="\t"
这导致提示符显示当前的时间,就象下面的显示一样(提示符后面将不会有空格):
02:16:15
而下面的设置:
PS1=\t
将导致提示符变成下面的样子:
t
这显示了设置中引号的重要性,下面的提示符串:
PS1="\t\\ "
会使提示符看起来象这个样子:
02:16:30\
这种情况下,提示符后面会有一个空格,因为引号里有一个空格。
如果想对某个账户设置自定的命令行提示符,可以编辑用户的/home/用户 目录下编辑 .bashrc文件,添加PS1变量的定义。root用户则在 /root/.bashrc 文件中定义。例如:
# vi ~/.bashrc
PS1=”[\u@\h \w]\\$ “
保存退出后退出当前终端或者重新运行bash命令就可以看到修改后的效果了。如下:
[root@monitor /data/soft]#
颜色化提示符
Linux提示符也可以定义显示不同的颜色,其颜色值的定义参见 echo命令高级应用——显示带颜色的字符
如编辑 ~/.bashrc 文件 添加如下设置:
PS1="\[\e[1;37m\][\u@\h \w]\[\e[1;32m\]\[\e[01m\]\\$ \[\e[0m\]"
近期评论