iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 19
2
Software Development

Gosh!原來用 Go 寫一個 Unix Shell 這麼簡單系列 第 19

Day19-.goshrc 設定檔(一)

前言

我們在 Day12Day15 花了四天的篇幅把 alias 講完,但不知道大家有沒有想到,因為 alias 是記錄在 Shell 的 Alias Table 裡面,但每次重開終端機時就會新開一個 Shell Process,所以之前設定的 alias 都會不見,一定得重新設定一次才行,否則 Shell 就會找不到 Alias

rc file

為了解決這個問題,每個 Shell 都會允許你在家目錄下放一個 rc 檔,以 bash 來說就是 .bashrc、zsh 的話就是 .zshrc

rc 檔的全名是 run command,以 .zshrc 來說就是 zsh run command,意思是說 zsh 初始化的時候會先把 .zshrc 裡面的指令都跑過一遍

alias

所以如果把 alias 寫在 .zshrc 的話,zsh 啟動時就會把那些 alias xxx='xxxxxx' 跑過一遍,也就確保有 alias 可以用,像我自己的 .zshrc 裡面就寫了一大堆 alias

export

除了 alias 之外還有一個東西也是存在 Shell Process 內部,那就是環境變數,所以我也會在 .zshrc 裡面把他們設定好,這樣很多依賴環境變數的程式才能正常執行

起始畫面

.zshrc 中除了寫 alias 跟 export 之外還可以寫很多其他東西,只要符合 Shell Script 的語法就可以

像我自己為了讓終端機更美觀(耍酷?),還特地寫了三十多行的 echo 輸出一個很大的 Larry,每次 zsh 啟動時就會跑出來XD

實際執行時再加上 lolcat 就可以得到漸層的效果~

小結

今天稍微介紹了 .zshrc,簡單來說它就是 zsh 用來做初始化的腳本。為了要把 Gosh 做得更完整,我們明天也要來實作讀取 .goshrc 的部分,請大家敬請期待

延伸閱讀


上一篇
Day18-wildcard 萬用字元(二)
下一篇
Day20-.goshrc 設定檔(二)
系列文
Gosh!原來用 Go 寫一個 Unix Shell 這麼簡單30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
jjlayyl
iT邦新手 5 級 ‧ 2019-10-05 22:45:22

聊一個不太相關的話題話說筆者不是寫React的嘛xD

!?你怎麼知道 (驚

我原本是寫 React 沒錯,但後來發現自己比較喜歡後端,所以現在就以 Golang 跟 Nodejs 為主XD

jjlayyl iT邦新手 5 級 ‧ 2019-10-06 23:23:51 檢舉

xD 有機會可以交流交流,我也golang backend 的學習者

XD好啊好啊,方便加你 FB 嗎,或是你可以加我
https://www.facebook.com/Larry850806

0
阿展展展
iT邦好手 1 級 ‧ 2020-02-06 08:57:57

PTT style!!

我要留言

立即登入留言