命令提示概述
命令提示看起来像下面这样:
查看当前命令提示的配置
我们可以通过几种方式来查看命令提示的配置。
$PS1 变量
我们可以通过打印 $PS1 环境变量来获取命令行提示配置:
echo $PS1
set 命令
set | grep PS1
命令提示配置变更
暂时备份原配置
我们来暂时备份一下当前的命令提示配置:
PS1_BAK=$PS1
将命令提示设置为空
PS1= # 什么都不指定的话,命令提示将什么都不显示
我们来看一下命令行提示是否依然工作正常:
echo 'The command prompt is still working'
设置一个哔哔声
每一次换行,电脑都会发出一个响声:
PS1='\a'
以周、月、日的形式展示日期
我们可以使用特殊字符 \d 来在命令行提示里显示周、月以及日:
PS1='\d'
以定制方式显示日期
我们可以使用特殊字符 \D{format} 来在命令行提示里显示定制的日期:
PS1='\D{%d%m%y}'
在第一个点之前显示主机名内容
我们可以使用特殊字符 \h 来在命令行提示中显示主机名第一个点之前的内容:
PS1='\h'
显示完整的主机名
我们可以使用特殊字符 \H 来在命令行提示显示完整主机名:
PS1='\H'
显示 Shell 管理的作业数量
我们可以使用特殊字符 \j 来显示命令行提示中 Shell 管理的作业数量:
PS1='\j'
在换行时多换一行
我们可以使用特殊字符 \n 来在命令行提示中换行时多换一行:
PS1='\n'
显示 Shell 的名称
我们可以使用特殊字符 \s 来在命令行提示中显示 Shell 的名称:
PS1='\s'
以 24 小时的格式显示时间
我们可以使用特殊字符 \t 来在命令行提示中以 24 小时的格式显示时间:
PS1='\t'
我们可以使用 \A 来显示剔除了第二部分的时间:
PS1='\A'
以 12 小时的格式显示时间
我们可以使用特殊字符 \T 来在命令行提示汇总以 12 小时的格式显示时间:
PS1='\T'
以 12 小时 AM/PM 的格式显示时间
我们可以使用特殊字符 @ 来在命令行提示中以 12 小时 am/pm 的格式显示时间:
PS1='\@'
显示当前用户的名称
我们可以使用特殊字符 \u 来在命令行提示显示当前用户的名称:
PS1='\u'
显示 Bash 的版本
我们可以使用特殊字符 \v 来在命令行提示中显示 Bash 的版本:
PS1='\v'
显示 Bahs 的发布版本
我们可以使用特殊字符 \V 来在命令行提示中显示 Bash 的发布版本(版本以及补丁级别):
PS1='\V'
显示完整的当前工作目录
我们可以使用特殊字符 \w 来在命令行提示中显示当前工作目录的完整路径:
mkdir a # 我们创建一个用来演示的目录
cd a # 切换至该目录
PS1='\w'
只显示当前工作目录
我们可以使用特殊字符 \W 来在命令行提示中显示当前工作目录的完整路径:
PS1='\W'
显示命令的历史编号
我们可以使用特殊字符 \! 来在命令行提示中显示命令的历史编号:
PS1='\!'
显示命令的命令编号
我们可以使用特殊字符 \# 来在命令行提示中显示命令的命令编号:
PS1='\#'
显示用户的身份识别
我们可以使用特殊字符 \$ 来在命令行提示中显示用户的身份识别:
PS1='\$'
如果用户的 uid 等于 0 就显示 #,否则显示 $:
显示一个下划线
我们可以使用特殊字符 \\ 来在命令行提示中显示一个下划线:
PS1='\\'
从备份还原
我们可以从我们先前创建的 PS1_BAK 变量里将配置还原:
PS1=$PS1_BAK
模仿默认配置
我们可以模仿默认配置:
PS1='[\u@\h \W]\$'
我所撰写的英文版本
19. Bash Shell - Command Prompt Settings Customization
引用
参见
想看手册的其他内容?请访问该手册的所属专栏:《Linux 管理员手册:既简单又深刻》