服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - IOS - Terminal该如何自定义提示详解

Terminal该如何自定义提示详解

2021-04-28 17:11我落泪_情绪零碎 IOS

这篇文章主要给大家介绍了关于Terminal如何自定义提示的相关资料,文中通过图文以及示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧

前言

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

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

Terminal该如何自定义提示详解

Terminal该如何自定义提示详解

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

如何自定义

其实核心就一句。

?
1
export ps1="hello world "

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

添加之后的效果如下:

Terminal该如何自定义提示详解

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

?
1
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该如何自定义提示详解

完整颜色表如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# 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中设置提示的颜色。

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

?
1
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

总结

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

原文链接:https://www.jianshu.com/p/046cc0e219c0

延伸 · 阅读

精彩推荐
  • IOSiOS 雷达效果实例详解

    iOS 雷达效果实例详解

    这篇文章主要介绍了iOS 雷达效果实例详解的相关资料,需要的朋友可以参考下...

    SimpleWorld11022021-01-28
  • IOSIOS开发之字典转字符串的实例详解

    IOS开发之字典转字符串的实例详解

    这篇文章主要介绍了IOS开发之字典转字符串的实例详解的相关资料,希望通过本文能帮助到大家,让大家掌握这样的方法,需要的朋友可以参考下...

    苦练内功5832021-04-01
  • IOSiOS布局渲染之UIView方法的调用时机详解

    iOS布局渲染之UIView方法的调用时机详解

    在你刚开始开发 iOS 应用时,最难避免或者是调试的就是和布局相关的问题,下面这篇文章主要给大家介绍了关于iOS布局渲染之UIView方法调用时机的相关资料...

    windtersharp7642021-05-04
  • IOSiOS通过逆向理解Block的内存模型

    iOS通过逆向理解Block的内存模型

    自从对 iOS 的逆向初窥门径后,我也经常通过它来分析一些比较大的应用,参考一下这些应用中某些功能的实现。这个探索的过程乐趣多多,不仅能满足自...

    Swiftyper12832021-03-03
  • IOSIOS 屏幕适配方案实现缩放window的示例代码

    IOS 屏幕适配方案实现缩放window的示例代码

    这篇文章主要介绍了IOS 屏幕适配方案实现缩放window的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要...

    xiari5772021-06-01
  • IOS解析iOS开发中的FirstResponder第一响应对象

    解析iOS开发中的FirstResponder第一响应对象

    这篇文章主要介绍了解析iOS开发中的FirstResponder第一响应对象,包括View的FirstResponder的释放问题,需要的朋友可以参考下...

    一片枫叶4662020-12-25
  • IOS关于iOS自适应cell行高的那些事儿

    关于iOS自适应cell行高的那些事儿

    这篇文章主要给大家介绍了关于iOS自适应cell行高的那些事儿,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的...

    daisy6092021-05-17
  • IOSiOS中tableview 两级cell的展开与收回的示例代码

    iOS中tableview 两级cell的展开与收回的示例代码

    本篇文章主要介绍了iOS中tableview 两级cell的展开与收回的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    J_Kang3862021-04-22