- 首先要查看自己所使用的shell是那种shell
echo $SHELL
- BASH 的设置
关于这个bash的提示符,是通过变量 PS1来进行确定的,要看到自己的PS1的设置,通过指令
$ set | grep PS1
就能够看到了。同样,如果要加入色彩的话,也是通过这个PS1变量。
我们在脚本 ~/.bashrc的末尾位置进行设置。关于这个文件,也就是一个bash启动的时候调用的文件。
我们在里面加内容,就可以直接对PS1这个变量进行我们想要的初始化操作。
具体的内容设置为:
PS1='[e[32m][u@h W]#[e[m] '
其中[e[32m]是进行颜色的设置。[e[m]是用来关闭颜色设置。这样,也就是提示符设置成了我们想要的颜色。
颜色表
前景 背景 颜色
---------------------------------------
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
将[e[32m]的32换成上面的前景色的数字,就可以选择不同的颜色了。
另外你还可以用特殊的字符来定义你的提示符,下面的列表列出了最常用的特殊字符。
提示符特殊字符代码
字符 含义
! 显示该命令的历史记录编号。
# 显示当前命令的命令编号。
$ 显示$符作为提示符,如果用户是root的话,则显示#号。
\ 显示反斜杠。
d 显示当前日期。
h 显示主机名。
打印新行。
nn 显示nnn的八进制值。
s 显示当前运行的shell的名字。
显示当前时间。
u 显示当前用户的用户名。
W 显示当前工作目录的名字。
w 显示当前工作目录的路径。
这些特殊字符能组合成很多种有用的提示符方案(也可以组合为很奇异的方案)
设置完成之后,重新登录,或者source ~/.bashrc 或者 . ~/.bashrc 进行生效。
2. CSH的设置
命令行提示符就是在命令行中预先显示的内容,通常显示一些提示信息,如当前目录、登录的用户名、机器名等。csh/tcsh 中设置命令行提示符的方法和其他Shell中类似,就是设置变量prompt的值。
set prompt="%h:%n@%m:%c >> "
csh命令行提示符中用到了一些预定义的变量,这些预定义的变量实现了一些动态显示内容,比如当前路径,命令编号,机器名,登录用户ID等等。有了这些变量,我们的csh命令行提示符可以显示我们所需要的信息。下面给出了这些预定义的prompt参数:
! 和%h一样
%B 开始粗体模式
%b 结束粗体模式
%c 当前工作目录名称的最后部分
%c2,%c3等等 当前工作目录名称的最后两个、三个(等等)组成部分
%C 跟%c类似,但是使用长形式的目录名称
%d 本周的当天
%D 今天是当月中的第几天
%h 当前命令的历史记录编号
%l shell的当前控制终端
%L 清除从提示符末尾到下一行的所有内容
%m 机器的主机名称
%M 机器的完全符合规范的域名
%n 用户名
%p 用精确格式(包括秒)显示的12小时制时间
%P 用精确格式(包括秒)显示的24小时制时间
%S 开始标准输出格式
%s 结束标准输出格式
%t 以12小时制格式显示时间
%T 以24小时制格式显示时间
%U 开始下划线模式
%u 结束下划线模式
%w 当前月的名称
%W 当前月的序数
%y 以2位格式表示的年
%Y 以4位格式表示的年
%% %字符
%! 跟%h相同
%@ 跟%t相同
$# 扩展到>供常规使用,如果用户正以root身份运行的话,就扩展到#
%/ 当前工作目录的完整名称
%- 以短格式表示的当前工作目录
^C 跟C匹配的控制字符:例如^G代表Ctrl+G
a 使tcsh在任何时候显示提示符时嘟嘟响
e 终止的escape符0x1B
f 终止的换页符
在这个位置开始一个新行
回车符
Tab制表符
v 垂直制表符
nn 由八进制数字nnn所指定的字符