Mac自定義配置zsh shell終端

Version

Preface

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


Content

1 確認Shell的版本為zsh

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


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

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

2 配置啟動歡迎圖片

2.1 歡迎信息配置文件

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

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



然后進入命令模式:wq,保存退出,重新打開一個終端,就能看到歡迎信息啦!

終端內(nèi)容


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

2.2 歡迎圖

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

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

╭⌒╮ \ │ /
╭⌒╮ ─ ● ─
╭ ⌒╮╭⌒╮. / │ \ .╭⌒╮
.╭⌒╮. ╭ ⌒╮. ╭ ⌒╮.
╭ ⌒╮ ╭⌒╮ ╭⌒╮
*╱◥██◣.,'''**',
︱田︱田田| ╱◥██◣
╬╬╬╬╬╬ ︱田︱田田| ╬╬╬╬╬╬
    へ    ?。瘄
  /\7    ∠_/
  / │   /?。? │ Z _,<?。 ?/`ヽ
 │     ヽ   /  〉
  Y     `  /  /
 ?● ? ●  ??〈  /
 ()  v    |?。堋?  >? ?_  ?!?│ //
  / へ   / ?<| \\
  ヽ_?  (_/  │//
  7       |/
  >―r ̄ ̄`?―_-
 く__,.ヘヽ.    / ,ー? 〉
    ?。?', !-─‐-i / /′
      /`?'    L//`ヽ?
     /  /,  /|  ,  ,    ',
   ?  / /-‐/?。椤_ ? ヽ!  i
    ? ? 7?`?  ?'?-??!ハ|  |
     !,/7 '0'   ′0iソ|   |   
     |.從"  ω   ,,,, / |./   |
     ?'| i>.?,,__ _,.イ /  .i  |
      ?'| | / k_7_/?'ヽ, ?. |
       | |/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           *
 **************************************************************
 */
/**
 *_______________#########_______________________ 
 *______________############_____________________ 
 *______________#############____________________ 
 *_____________##__###########___________________ 
 *____________###__######_#####__________________ 
 *____________###_#######___####_________________ 
 *___________###__##########_####________________ 
 *__________####__###########_####_______________ 
 *________#####___###########__#####_____________ 
 *_______######___###_########___#####___________ 
 *_______#####___###___########___######_________ 
 *______######___###__###########___######_______ 
 *_____######___####_##############__######______ 
 *____#######__#####################_#######_____ 
 *____#######__##############################____ 
 *___#######__######_#################_#######___ 
 *___#######__######_######_#########___######___ 
 *___#######____##__######___######_____######___ 
 *___#######________######____#####_____#####____ 
 *____######________#####_____#####_____####_____ 
 *_____#####________####______#####_____###______ 
 *______#####______;###________###______#________ 
 *________##_______####________####______________ 
 */

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

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

其實,小編是想搞個Saber醬的,但是沒有找到好的素材.
以后找到了,一定分享出來.

3 自定義提示符

3.1 默認的提示符樣式

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


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

3.2 定位配置文件

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

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

3.3 修改配置文件

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

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

# 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
是開啟自定義顏色

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


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

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

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

Summary

關(guān)于oh my zsh

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

Preference

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

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

Index:0010
Title: Mac自定義終端(Terminal)歡迎圖案
http://www.itdecent.cn/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: 謝謝分享

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容