今天为大家介绍 “让Linux Deepin 终端丰富多彩”第一部分:个性化命令提示符设置。
先看效果图:
终端命令提示符
如何让您的 LD 的终端更具个性呢?首先,我们需要了解下面几点知识。
A:配置文件
个人配置文件:~/.bashrc
全局设定文件:/etc/bash.bashrc(修改需要管理员权限)
B
命令提示符由特殊 shell 变量控制,分别是 :PS1,PS2,PS3,PS4。
我们可以只考虑 PS1。在终端执行
Default
echo $PS1
1
echo$PS1
我的输出结果为:
Default
\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1
1
\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h:\w\a\]$PS1
上图截图中的输出结果为:
Default
\n \[\e[1;37m\]┌─[\[\e[1;36m\] \d \[\e[1;31m\]\T\[\e[1;37m\]]\n\[\e[1;37m\] └─[ \[\e[1;34m\]@ \[\e[1;32m\]\w \[\e[1;37m\]]\[\e[1;35m\]---> \[\e[0;37m\] \n >>
1
\n\[\e[1;37m\]┌─[\[\e[1;36m\]\d\[\e[1;31m\]\T\[\e[1;37m\]]\n\[\e[1;37m\]└─[\[\e[1;34m\]@\[\e[1;32m\]\w\[\e[1;37m\]]\[\e[1;35m\]--->\[\e[0;37m\]\n>>
您将上面的内容替换掉配置文件里 PS1 设定值即可。这样在终端打开时就会看
到一个新的命令提示符。
C
那上面输出结果中的\n,\T,[]代表什么呢?这是一些转义字符,它们分别代表:
\A:以 24 小时格式显示时间(HH:MM)
\d:表示日期,格式为“星期 月份 日期”
\H:显示完整的主机名称
\h:仅取主机的第一个名字
\n:新建一行
\t:显示时间为 24 小时格式,如,HH:MM:SS
\T:显示时间为 12 小时格式
\u:显示当前用户的帐号名称
\v:显示 BASH 的版本信息,如 2.00
\V:显示 Bash 的版本,包括补丁信息,如 2.00.0
\w:显示当前工作目录,与\W不同的是,目录前有波浪号
\W:完整的工作目录名称。主文件夹会以~代替
\#:下达的第几个命令
\$:提示字符,一般普通用户为 $,管理员权限显示 #
\[:非打印字符引用开头
\]:非打印字符引用结束
\\:反斜杠
在不修改原配置文件的情况喜爱,如何测试自己修改的呢?我们可以在终端输入 PS1='自定义',回车,即可显示效果。
这里给大家我自己设置的几个简单例子:
Default
PS1="\w :"#简单输出当前目录
PS1="\$:"#这个更简单
1
2
PS1="\w :"#简单输出当前目录
PS1="\$:"#这个更简单
D
那如何让它“色”呢?
一般设置色彩格式为:'\e[x;ym $PS1 \e[m'
解释:
\e[ :开始色彩方案设置
x;y :色彩配对
\e[m 结束色彩方案设置
示例: PS1="\[\e[1;31m\] LinuxDeepin"
更多色彩,如下图:
色彩图示
(可以使用下面这段脚本实现
Default
#!/bin/sh
############################################################
# Nico Golde Homepage: http://www.ngolde.de
# Last change: Mon Feb 16 16:24:41 CET 2004
############################################################
for attr in 0 1 4 5 7 ; do
echo "----------------------------------------------------------------"
printf "ESC[%s;Foreground;Background - \n" $attr
for fore in 30 31 32 33 34 35 36 37; do
for back in 40 41 42 43 44 45 46 47; do
printf '\033[%s;%s;%sm %02s;%02s ' $attr $fore $back $fore $back
done
printf '\n'
done
printf '\033[0m'
done
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/sh
############################################################
# Nico Golde Homepage: http://www.ngolde.de
# Last change: Mon Feb 16 16:24:41 CET 2004
############################################################
forattrin01457;do
echo"----------------------------------------------------------------"
printf"ESC[%s;Foreground;Background - \n"$attr
forforein3031323334353637;do
forbackin4041424344454647;do
printf'\033[%s;%s;%sm %02s;%02s '$attr$fore$back$fore$back
done
printf'\n'
done
printf'\033[0m'
done
)
OK,基本按照上面的几点,就可以自己搞出比较个性化的命令提示符了。更多精彩,需要您自己的创意!
可以留言,分享自己的创意!
本文写作参考:
#1,http://www.linuxandlife.com/2011/12/how-to-customize-command-prompt.html
#2,http://zhainx.yo2.cn/articles/linux-terminal-under-the-color-settings.html