Mac自定义配置zsh shell终端

Version

Preface

今天在捣鼓git的时候,不小心发现了终端其实也是可以自定义配置的.
感觉挺有趣的.
下面分享下自己已经捣鼓成功的两个效果:
1,皮卡丘欢迎界面
2,自定义提示符


Content

1 确认Shell的版本为zsh

Shell是指Linux/Unix系统下的脚本语言,是用户和系统内核之间的桥梁.
Shell有很不同的版本,比如dush, bash, ksh, csh, tcsh.
cat /etc/shells可以查看自己电脑上存在的Shell版本.


此次自定义配置,仅适用于zsh.所以,我们需要确认我们使用的版本是否是zsh.
echo $SHELL,可以查看自己用的是否是zsh.

本文暂时假定各位都已经在使用zsh了.

2 配置启动欢迎图片

2.1 欢迎信息配置文件

/etc/motd文件,是专门用来存放终端启动时的欢迎信息的,感觉还是非常人性化了.
所以,我们只要在这个文件中复制粘贴自己喜欢的内容就可以啦.
需要注意的是,这个文件是只读的,所以,我们需要用sudo命令打开,才可以修改:
'sudo vi /etc/motd'
输入密码后,就可以进行修改了.

首先输入好我们想要显示的内容:
vi编辑器内容:



然后进入命令模式:wq,保存退出,重新打开一个终端,就能看到欢迎信息啦!

终端内容


如果我们想更换信息,vi中清空所有内容的方式为:
在命令模式下,输入:.,$d 然后回车.

2.2 欢迎图

等等,这样的欢迎信息,难道要我们一个一个自己敲么???

帅气温柔的小编,当然早就帮亲们提供了一些好的素材,总有一款是亲喜欢的哈!!

╭⌒╮ \ │ /
╭⌒╮ ─ ● ─
╭ ⌒╮╭⌒╮. / │ \ .╭⌒╮
.╭⌒╮. ╭ ⌒╮. ╭ ⌒╮.
╭ ⌒╮ ╭⌒╮ ╭⌒╮
*╱◥██◣.,'''**',
︱田︱田田| ╱◥██◣
╬╬╬╬╬╬ ︱田︱田田| ╬╬╬╬╬╬
    へ     /|
  /\7    ∠_/
  / │   / /
 │ Z _,< /   /`ヽ
 │     ヽ   /  〉
  Y     `  /  /
 イ● 、 ●  ⊂⊃〈  /
 ()  v    | \〈
  >ー 、_  ィ  │ //
  / へ   / ノ<| \\
  ヽ_ノ  (_/  │//
  7       |/
  >―r ̄ ̄`ー―_-
 く__,.ヘヽ.    / ,ー、 〉
     \ ', !-─‐-i / /´
      /`ー'    L//`ヽ、
     /  /,  /|  ,  ,    ',
   イ  / /-‐/ i L_ ハ ヽ!  i
    レ ヘ 7イ`ト  レ'ァ-ト、!ハ|  |
     !,/7 '0'   ´0iソ|   |   
     |.从"  ω   ,,,, / |./   |
     レ'| i>.、,,__ _,.イ /  .i  |
      レ'| | / k_7_/レ'ヽ, ハ. |
       | |/i 〈|/  i ,.ヘ | i |
      .|/ / i:   ヘ!  \ |
        kヽ>、ハ   _,.ヘ、   /、!
       !'〈//`T´', \ `'7'ーr'
       レ'ヽL__| JJ ンレ|ノ
         ト-,/ |___./
         'ー'  !_,.:  
/**
 * ┌─────────────────────────────────────────────────────────────┐
 * │┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐│
 * ││Esc│!1 │@2 │#3 │$4 │%5 │^6 │&7 │*8 │(9 │)0 │_- │+= │|\ │`~ ││
 * │├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤│
 * ││ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{[ │}] │ BS  ││
 * │├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤│
 * ││ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter  ││
 * │├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤│
 * ││ Shift  │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│Shift │Fn ││
 * │└─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴┬─────┴───┘│
 * │      │Fn │ Alt │         Space         │ Alt │Win│   HHKB   │
 * │      └───┴─────┴───────────────────────┴─────┴───┘          │
 * └─────────────────────────────────────────────────────────────┘

 *                Happy Hacking       auto coding
 */
 /**
 **************************************************************
 *                                                            *
 *   .=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-.       *
 *    |                     ______                     |      *
 *    |                  .-"      "-.                  |      *
 *    |                 /            \                 |      *
 *    |     _          |              |          _     |      *
 *    |    ( \         |,  .-.  .-.  ,|         / )    |      *
 *    |     > "=._     | )(__/  \__)( |     _.=" <     |      *
 *    |    (_/"=._"=._ |/     /\     \| _.="_.="\_)    |      *
 *    |           "=._"(_     ^^     _)"_.="           |      *
 *    |               "=\__|IIIIII|__/="               |      *
 *    |              _.="| \IIIIII/ |"=._              |      *
 *    |    _     _.="_.="\          /"=._"=._     _    |      *
 *    |   ( \_.="_.="     `--------`     "=._"=._/ )    |      *
 *    |    > _.="                            "=._ <    |      *
 *    |   (_/                                    \_)   |      *
 *    |                                                |      *
 *    '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='      *
 *                                                            *
 *           LASCIATE OGNI SPERANZA, VOI CH'ENTRATE           *
 **************************************************************
 */
/**
 *_______________#########_______________________ 
 *______________############_____________________ 
 *______________#############____________________ 
 *_____________##__###########___________________ 
 *____________###__######_#####__________________ 
 *____________###_#######___####_________________ 
 *___________###__##########_####________________ 
 *__________####__###########_####_______________ 
 *________#####___###########__#####_____________ 
 *_______######___###_########___#####___________ 
 *_______#####___###___########___######_________ 
 *______######___###__###########___######_______ 
 *_____######___####_##############__######______ 
 *____#######__#####################_#######_____ 
 *____#######__##############################____ 
 *___#######__######_#################_#######___ 
 *___#######__######_######_#########___######___ 
 *___#######____##__######___######_____######___ 
 *___#######________######____#####_____#####____ 
 *____######________#####_____#####_____####_____ 
 *_____#####________####______#####_____###______ 
 *______#####______;###________###______#________ 
 *________##_______####________####______________ 
 */

然后,这个网址可以将图片转化为字符画,大家可以玩玩:
https://www.fontke.com/tool/image2ascii/

还有大咖专门为这个文件成立了一个Github项目,大家有兴趣,可以将自己喜欢的图片放上去哈:
https://github.com/abcfy2/motd

其实,小编是想搞个Saber酱的,但是没有找到好的素材.
以后找到了,一定分享出来.

3 自定义提示符

3.1 默认的提示符样式

接下来,就是自定义提示符了.
其实格式符的提示信息是由变量PS1,或者PROMPT变量指定的,这两个变量的内容是一样的.
默认情况下,是这样的格式:


他的内容为:
%n@%m %1~ %#
其中:
%n是自己的用户名
@,原样输出@
%m,自己的机器名字
%1~,可能是当前路径,这个没有具体研究.
%#,这个也没具体研究.
所以,没有修改之前,我的命令提示符就是上面那个样子.

3.2 定位配置文件

本质上,只要我们修改了PROMPT(PS1等价,后面不再说明)变量的值,就能修改样式了.
使用zsh的终端,本次打开新的窗口,都会首先运行一个配置文件,载入相关的变量.
这个文件就是我们修改这个变量的最佳对象.
这个文件就是:~/.zshrc

注意,可能会有一些大佬想到了~/.bash_profile文件,这个文件是bash版本的终端会载入的配置文件. zsh版本并不会载入.

3.3 修改配置文件

下面就是修改配置文件了,我们用vi打开该文件:
vi ~/.zshrc

然后在打开的窗口中输入以下内容:

# Config Zsh
# Enable custom color 开启自定义颜色
autoload -U colors && colors
# Config PROMPT Variable 配置PROMPT变量
export PROMPT="%{%F{magenta}%}Master,give me your command :%{$reset_color%} "

其中
autoload -U colors && colors
是开启自定义颜色

然后关键的是配置PROMPT变量:
export PROMPT="%{%F{magenta}%}Master,give me your command :%{$reset_color%} "
1,export,是用来声明环境变量,这个声明具体有什么作用,以后再进一步研究,没搞清楚之前,就按照前人的做法来.
2,%{%F{magenta}%},是说明接下来的文字,用magenta(洋红)来显示.
可以设置的颜色值如下:


3,Master,give me your command :,这个是原样输出
4,%{$reset_color%},表示接下来的文字,恢复用默认颜色显示.

修改好保存之后,要立即生效,别忘了输入以下命令:
source ~/.zshrc
下面是一些转义变量的列表:

好了,本文就研究到这里.

Summary

关于oh my zsh

oh my zsh是一个封装好的配置zsh的插件.我在查资料的过程中,很多文章动不动就说下载oh my zsh,说实话,感觉不是很好.
这就有点像你在浏览网页,看见一个有兴趣的视频,然后点了一下,但是不能直接打开,提示你必须下载某app才能观看.
这种稍微扩展一下,就要用某某框架,某某插件,感觉还是太容易让人心累了.

Preference

Index:0000
Title: Mac终端命令行提示符格式更改方法
Url: https://www.dazhuanlan.com/2019/09/25/5d8b35db9a8ee/
Desc: 这篇文章介绍的方法应该是针对bash版本的shell的.对于zsh不适用.也希望各位大佬能说明清楚自己的环境,很多东西一样的问题,环境不一样,是不能用相同的方式解决的.

Index:0001
Title: 图片转字符画
Url: https://www.fontke.com/tool/image2ascii/
Desc: 将图片转换为字符画,用来制作欢迎界面.

Index:0010
Title: Mac自定义终端(Terminal)欢迎图案
https://www.jianshu.com/p/fddda86486df
Desc: 谢谢分享

Index:0011
Title: Zsh (简体中文)
Url: https://wiki.archlinux.org/index.php/Zsh_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29#.E5.BD.A9.E8.89.B2
Desc:资料比较详细

Index:0100
Title: zsh 自定义命令提示符(PS1/ prompt)
Url: https://blog.csdn.net/u014218108/article/details/51195582
Desc: 谢谢分享

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342