修改Linux Shell命令提示符

在使用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$ 

参考:How to Change / Set up bash custom prompt (PS1) in Linux

你可能感兴趣的:(Linux)