欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Terminal该如何自定义提示详解

程序员文章站 2024-02-11 21:04:34
前言 当我们打开终端时,在输入命令的位置之前,会有一段字符,显示当前用户、主机名等信息。 有的同学可能使用zshell,它功能更丰富,并且可以选择主题。不同的主题前面那...

前言

当我们打开终端时,在输入命令的位置之前,会有一段字符,显示当前用户、主机名等信息。

有的同学可能使用zshell,它功能更丰富,并且可以选择主题。不同的主题前面那段字符是不一样的。比如我主题用的是ys,显示效果如下。从左至右依次是:# 用户名 @ 主机名 in 当前路径 (如果是git仓库,会显示当前分支,是否是clean状态) 当前时间

Terminal该如何自定义提示详解

Terminal该如何自定义提示详解

那么这些提示是如何进行设置的呢?今天刚好看到,记录一下。

如何自定义

其实核心就一句。

export ps1="hello world "

后面跟上你想显示的字符串就可以。如果使用bash,将这句加上~/.bash_profile最后;如果是zshell,则加到~/.zshrc中,然后重启终端。

添加之后的效果如下:

Terminal该如何自定义提示详解

如果想要显示用户名,当前路径,可以这样设置,顺便加个$结尾,以便与敲入的命令分隔。

export ps1="hello $user `pwd` $ "

效果如图:

Terminal该如何自定义提示详解

设置颜色

从图1可以看出,zshell提示的颜色可谓是多种多样。那么颜色该如何设置呢。

google一下,发现要让shell的输出显示颜色,只需要带上颜色字符即可。

比如\033[0;31m代表红色。如果在终端中敲入:echo "begin \033[0;31m end" ,end会显示为红色,begin还是原本设置的原色,就简称为本色吧。效果如下:

Terminal该如何自定义提示详解

如果想让end后面的字符显示本色,在end后面跟上reset color,对应下表中的'\033[0m'。

Terminal该如何自定义提示详解

完整颜色表如下:

# reset
color_off='\033[0m'  # text reset

# regular colors
black='\033[0;30m'  # black
red='\033[0;31m'   # red
green='\033[0;32m'  # green
yellow='\033[0;33m'  # yellow
blue='\033[0;34m'   # blue
purple='\033[0;35m'  # purple
cyan='\033[0;36m'   # cyan
white='\033[0;37m'  # white

# bold
bblack='\033[1;30m'  # black
bred='\033[1;31m'   # red
bgreen='\033[1;32m'  # green
byellow='\033[1;33m'  # yellow
bblue='\033[1;34m'  # blue
bpurple='\033[1;35m'  # purple
bcyan='\033[1;36m'  # cyan
bwhite='\033[1;37m'  # white

# high intensity
iblack='\033[0;90m'  # black
ired='\033[0;91m'   # red
igreen='\033[0;92m'  # green
iyellow='\033[0;93m'  # yellow
iblue='\033[0;94m'  # blue
ipurple='\033[0;95m'  # purple
icyan='\033[0;96m'  # cyan
iwhite='\033[0;97m'  # white

# bold high intensity
biblack='\033[1;90m'  # black
bired='\033[1;91m'  # red
bigreen='\033[1;92m'  # green
biyellow='\033[1;93m'  # yellow
biblue='\033[1;94m'  # blue
bipurple='\033[1;95m'  # purple
bicyan='\033[1;96m'  # cyan
biwhite='\033[1;97m'  # white

# high intensity backgrounds
on_iblack='\033[0;100m' # black
on_ired='\033[0;101m'  # red
on_igreen='\033[0;102m' # green
on_iyellow='\033[0;103m' # yellow
on_iblue='\033[0;104m' # blue
on_ipurple='\033[0;105m' # purple
on_icyan='\033[0;106m' # cyan
on_iwhite='\033[0;107m' # white

同样可以在.bash_profile/~/.zshrc中设置提示的颜色。

如下让用户名为绿色,路径为红色:

export ps1="hello `echo '\033[0;32m'` $user `echo '\033[0;31m'` `pwd` $ "

效果如下:

Terminal该如何自定义提示详解

此时$也是红色的,若要设置成本色,可添加reset color。

另外,在 中,提到了如何显示当前xcode版本,git分支,git status的实现,有兴趣可以看看。

参考链接:

hacking my shell prompt so i make fewer mistakes working with xcode projects

how to change the output color of echo in linux

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。