首页 > 代码库 > shell如何设置命令提示符

shell如何设置命令提示符

  • 首先要查看自己所使用的shell是那种shell

  echo $SHELL

 

  1. 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 显示主机名。
\n 打印新行。 

 \nnn 显示nnn的八进制值。  
 \s 显示当前运行的shell的名字。 

 \t 显示当前时间。 
 \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 终止的换页符
  \n 在这个位置开始一个新行
  \r 回车符
  \t Tab制表符
  \v 垂直制表符
  \nnn 由八进制数字nnn所指定的字符

 

 

shell如何设置命令提示符