命令行提示符就是在命令行中预先显示的内容,通常显示一些提示信息,如当前目录、登录的用户名、机器名等。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 终止的换页符
\n 在这个位置开始一个新行
\r 回车符
\t Tab制表符
\v 垂直制表符
\nnn 由八进制数字nnn所指定的字符