Mac自定義配置zsh shell終端

Version

Preface

今天在搗鼓git的時(shí)候,不小心發(fā)現(xiàn)了終端其實(shí)也是可以自定義配置的.
感覺(jué)挺有趣的.
下面分享下自己已經(jīng)搗鼓成功的兩個(gè)效果:
1,皮卡丘歡迎界面
2,自定義提示符


Content

1 確認(rèn)Shell的版本為zsh

Shell是指Linux/Unix系統(tǒng)下的腳本語(yǔ)言,是用戶和系統(tǒng)內(nèi)核之間的橋梁.
Shell有很不同的版本笋除,比如dush, bash, ksh, csh, tcsh.
cat /etc/shells可以查看自己電腦上存在的Shell版本.


此次自定義配置,僅適用于zsh.所以,我們需要確認(rèn)我們使用的版本是否是zsh.
echo $SHELL,可以查看自己用的是否是zsh.

本文暫時(shí)假定各位都已經(jīng)在使用zsh了.

2 配置啟動(dòng)歡迎圖片

2.1 歡迎信息配置文件

/etc/motd文件,是專門(mén)用來(lái)存放終端啟動(dòng)時(shí)的歡迎信息的,感覺(jué)還是非常人性化了.
所以,我們只要在這個(gè)文件中復(fù)制粘貼自己喜歡的內(nèi)容就可以啦.
需要注意的是,這個(gè)文件是只讀的,所以,我們需要用sudo命令打開(kāi),才可以修改:
'sudo vi /etc/motd'
輸入密碼后,就可以進(jìn)行修改了.

首先輸入好我們想要顯示的內(nèi)容:
vi編輯器內(nèi)容:



然后進(jìn)入命令模式:wq,保存退出,重新打開(kāi)一個(gè)終端,就能看到歡迎信息啦!

終端內(nèi)容


如果我們想更換信息,vi中清空所有內(nèi)容的方式為:
在命令模式下壹若,輸入:.,$d 然后回車.

2.2 歡迎圖

等等,這樣的歡迎信息,難道要我們一個(gè)一個(gè)自己敲么???

帥氣溫柔的小編,當(dāng)然早就幫親們提供了一些好的素材,總有一款是親喜歡的哈!!

╭⌒╮ \ │ /
╭⌒╮ ─ ● ─
╭ ⌒╮╭⌒╮. / │ \ .╭⌒╮
.╭⌒╮. ╭ ⌒╮. ╭ ⌒╮.
╭ ⌒╮ ╭⌒╮ ╭⌒╮
*╱◥██◣.,'''**',
︱田︱田田| ╱◥██◣
╬╬╬╬╬╬ ︱田︱田田| ╬╬╬╬╬╬
    へ     /|
  /\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           *
 **************************************************************
 */
/**
 *_______________#########_______________________ 
 *______________############_____________________ 
 *______________#############____________________ 
 *_____________##__###########___________________ 
 *____________###__######_#####__________________ 
 *____________###_#######___####_________________ 
 *___________###__##########_####________________ 
 *__________####__###########_####_______________ 
 *________#####___###########__#####_____________ 
 *_______######___###_########___#####___________ 
 *_______#####___###___########___######_________ 
 *______######___###__###########___######_______ 
 *_____######___####_##############__######______ 
 *____#######__#####################_#######_____ 
 *____#######__##############################____ 
 *___#######__######_#################_#######___ 
 *___#######__######_######_#########___######___ 
 *___#######____##__######___######_____######___ 
 *___#######________######____#####_____#####____ 
 *____######________#####_____#####_____####_____ 
 *_____#####________####______#####_____###______ 
 *______#####______;###________###______#________ 
 *________##_______####________####______________ 
 */

然后,這個(gè)網(wǎng)址可以將圖片轉(zhuǎn)化為字符畫(huà),大家可以玩玩:
https://www.fontke.com/tool/image2ascii/

還有大咖專門(mén)為這個(gè)文件成立了一個(gè)Github項(xiàng)目,大家有興趣,可以將自己喜歡的圖片放上去哈:
https://github.com/abcfy2/motd

其實(shí),小編是想搞個(gè)Saber醬的,但是沒(méi)有找到好的素材.
以后找到了,一定分享出來(lái).

3 自定義提示符

3.1 默認(rèn)的提示符樣式

接下來(lái),就是自定義提示符了.
其實(shí)格式符的提示信息是由變量PS1,或者PROMPT變量指定的,這兩個(gè)變量的內(nèi)容是一樣的.
默認(rèn)情況下,是這樣的格式:


他的內(nèi)容為:
%n@%m %1~ %#
其中:
%n是自己的用戶名
@,原樣輸出@
%m,自己的機(jī)器名字
%1~,可能是當(dāng)前路徑,這個(gè)沒(méi)有具體研究.
%#,這個(gè)也沒(méi)具體研究.
所以,沒(méi)有修改之前,我的命令提示符就是上面那個(gè)樣子.

3.2 定位配置文件

本質(zhì)上,只要我們修改了PROMPT(PS1等價(jià),后面不再說(shuō)明)變量的值,就能修改樣式了.
使用zsh的終端,本次打開(kāi)新的窗口,都會(huì)首先運(yùn)行一個(gè)配置文件,載入相關(guān)的變量.
這個(gè)文件就是我們修改這個(gè)變量的最佳對(duì)象.
這個(gè)文件就是:~/.zshrc

注意,可能會(huì)有一些大佬想到了~/.bash_profile文件,這個(gè)文件是bash版本的終端會(huì)載入的配置文件. zsh版本并不會(huì)載入.

3.3 修改配置文件

下面就是修改配置文件了,我們用vi打開(kāi)該文件:
vi ~/.zshrc

然后在打開(kāi)的窗口中輸入以下內(nèi)容:

# Config Zsh
# Enable custom color 開(kāi)啟自定義顏色
autoload -U colors && colors
# Config PROMPT Variable 配置PROMPT變量
export PROMPT="%{%F{magenta}%}Master,give me your command :%{$reset_color%} "

其中
autoload -U colors && colors
是開(kāi)啟自定義顏色

然后關(guān)鍵的是配置PROMPT變量:
export PROMPT="%{%F{magenta}%}Master,give me your command :%{$reset_color%} "
1,export,是用來(lái)聲明環(huán)境變量,這個(gè)聲明具體有什么作用,以后再進(jìn)一步研究,沒(méi)搞清楚之前,就按照前人的做法來(lái).
2,%{%F{magenta}%},是說(shuō)明接下來(lái)的文字,用magenta(洋紅)來(lái)顯示.
可以設(shè)置的顏色值如下:


3,Master,give me your command :,這個(gè)是原樣輸出
4,%{$reset_color%},表示接下來(lái)的文字,恢復(fù)用默認(rèn)顏色顯示.

修改好保存之后,要立即生效,別忘了輸入以下命令:
source ~/.zshrc
下面是一些轉(zhuǎn)義變量的列表:

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

Summary

關(guān)于oh my zsh

oh my zsh是一個(gè)封裝好的配置zsh的插件.我在查資料的過(guò)程中,很多文章動(dòng)不動(dòng)就說(shuō)下載oh my zsh,說(shuō)實(shí)話,感覺(jué)不是很好.
這就有點(diǎn)像你在瀏覽網(wǎng)頁(yè),看見(jiàn)一個(gè)有興趣的視頻,然后點(diǎn)了一下,但是不能直接打開(kāi),提示你必須下載某app才能觀看.
這種稍微擴(kuò)展一下,就要用某某框架,某某插件,感覺(jué)還是太容易讓人心累了.

Preference

Index:0000
Title: Mac終端命令行提示符格式更改方法
Url: https://www.dazhuanlan.com/2019/09/25/5d8b35db9a8ee/
Desc: 這篇文章介紹的方法應(yīng)該是針對(duì)bash版本的shell的.對(duì)于zsh不適用.也希望各位大佬能說(shuō)明清楚自己的環(huán)境,很多東西一樣的問(wèn)題,環(huán)境不一樣,是不能用相同的方式解決的.

Index:0001
Title: 圖片轉(zhuǎn)字符畫(huà)
Url: https://www.fontke.com/tool/image2ascii/
Desc: 將圖片轉(zhuǎn)換為字符畫(huà),用來(lái)制作歡迎界面.

Index:0010
Title: Mac自定義終端(Terminal)歡迎圖案
http://www.reibang.com/p/fddda86486df
Desc: 謝謝分享

Index:0011
Title: Zsh (簡(jiǎn)體中文)
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:資料比較詳細(xì)

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末厕诡,一起剝皮案震驚了整個(gè)濱河市累榜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌灵嫌,老刑警劉巖壹罚,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異寿羞,居然都是意外死亡猖凛,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)绪穆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)辨泳,“玉大人,你說(shuō)我怎么就攤上這事玖院〔ず欤” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵司恳,是天一觀的道長(zhǎng)途乃。 經(jīng)常有香客問(wèn)我,道長(zhǎng)扔傅,這世上最難降的妖魔是什么耍共? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮猎塞,結(jié)果婚禮上试读,老公的妹妹穿的比我還像新娘。我一直安慰自己荠耽,他們只是感情好钩骇,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著铝量,像睡著了一般倘屹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上慢叨,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天纽匙,我揣著相機(jī)與錄音,去河邊找鬼拍谐。 笑死烛缔,一個(gè)胖子當(dāng)著我的面吹牛馏段,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播践瓷,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼院喜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了晕翠?” 一聲冷哼從身側(cè)響起喷舀,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎崖面,沒(méi)想到半個(gè)月后元咙,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巫员,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了甲棍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片简识。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖感猛,靈堂內(nèi)的尸體忽然破棺而出七扰,到底是詐尸還是另有隱情,我是刑警寧澤陪白,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布颈走,位于F島的核電站,受9級(jí)特大地震影響咱士,放射性物質(zhì)發(fā)生泄漏立由。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一序厉、第九天 我趴在偏房一處隱蔽的房頂上張望锐膜。 院中可真熱鬧,春花似錦弛房、人聲如沸道盏。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)荷逞。三九已至,卻和暖如春粹排,著一層夾襖步出監(jiān)牢的瞬間种远,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工恨搓, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留院促,地道東北人筏养。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像常拓,于是被迫代替她去往敵國(guó)和親渐溶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348