在使用Linux终端的时候,在默认设置下,进入到某个比较深的目录层次后,终端提示的绝对路径很长,是不是感觉宝贵的空间被无情占用的感觉。本文介绍一下如何修改这个命令提示符。
查看终端提示符设置
Shell 通过PS1~PS4这4个环境变量来控制提示符的格式。PS1 控制最外层的命令提示符格式。PS2 控制第二层的命令提示符格式。PS3是设置某些命令的提示。PS4是对PS1的扩展。我们只关注PS1就能解决我们的困扰。
通过echo $PS1来查看提示符设置
#Ubuntu 18.04环境下输出的例子
$echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
提示符设置参数
在修改设置之前,我们先看看有什么参数及其含义。
选项 | 描述 | 选项 | 描述 |
---|---|---|---|
\a | 铃声字符 | \d | 格式为“日 月 年”的日期 |
\e | ASCII 转义字符 | \h | 本地主机名 |
\H | 完全合格的限定域主机名 | \j | shell 当前管理的作业数 |
\1 | shell 终端设备名的基本名称 | \n | ASCII 换行字符 |
\r | ASCII 回车 | \s | shell 的名称 |
\t | 格式为“小时:分钟:秒”的24小时制的当前时间 | \T | 格式为“小时:分钟:秒”的12小时制的当前时间 |
\A | 格式为“小时:分钟”的24小时制的当前时间 | @ | 格式为 am/pm 的12小时制的当前时间 |
\s | shell的名字 | \u | 当前用户的用户名 |
\v | bash shell 的版本 | \V | bash shell 的发布级别 |
\w | 当前工作目录 | \W | 当前工作目录的基本名称 |
! | 该命令的 bash shell 历史数 | # | 该命令的命令数量 |
$ | 如果是普通用户,则为美元符号$;如果超级用户(root 用户),则为井号#。 | \nnn | 对应于八进制值 nnn 的字符 |
\ | 斜杠 | [ | 控制码序列的开头 |
] | 控制码序列的结尾 |
修改提示符
设置PS1变量内容,即可修改提示符。将修改内容保存在.bashrc文件里面,重启系统也能保持修改。
$ nano ~/.bashrc
#在文件最后添加如下设置,或者修改其中PS1设置
export PS1="\A \u@\h \W\$ "
$ source ~/.bashrc #使其设置生效
有的.bashrc配置文件里面会有
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
#PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1='\A \u@\h \W\$ '
fi
下面是修改前后的效果。
mark@marklinux:~/golangwork/src/github.com/hyperledger/fabric/examples/e2e_cli/base$
mark@marklinux:~/golangwork/src/github.com/hyperledger/fabric/examples/e2e_cli/base$
mark@marklinux:~/golangwork/src/github.com/hyperledger/fabric/examples/e2e_cli/base$ nano ~/.bashrc
mark@marklinux:~/golangwork/src/github.com/hyperledger/fabric/examples/e2e_cli/base$ source ~/.bashrc
01:23 mark@marklinux:base$
01:23 mark@marklinux:base$