iT邦幫忙

9

一起聊聊神奇的Terminal魔法

  • 分享至 

  • xImage

隨著工作的需要,和OSX的Terminal一起工作的時間逐漸增加,在過程中隨之而來的就是感情的激盪。為了繼續增進和它之間的熟悉感,前陣子我就決定要來客製化Terminal。而之所以發在技術問答是希望能順便藉此機會和各位大神們討教一下諸位神奇的Terminal妙招。我先來分享一些提高了我工作效率的.bash_profile設定:

前情提要:.bash_profile是在你的Terminal啟動之前會先行執行的檔案,在這個檔案中你可以設定指令的快捷鍵、文字顏色、以及指令的路徑。要打開它很簡單,只需要在terminal打上open ~/.bash_profile就可以了!

1. 指令快捷鍵

說到指令快捷鍵,我想要先提兩個:

# (1) 快速打開.bash_profile
alias edit="open ~/.bash_profile
# (2) 快速清理(只是比較潮XD)
alias cl="clear"

在.bash_profile裡面設定讓你可以更快打開.bash_profile的指令,根本計畫通。
cl則是能讓你在迅雷不及掩耳的時間內把terminal裡面的東西全部清掉。
要測試這兩個功能,只需要在儲存好剛剛輸入進.bash_profile之後重新開啟terminal就可以打上editcl來測試囉!

2. 任意門

常常覺得要跳到一個Working Directory之前花費在cd的時間都夠我多打一行程式了,為了更快速地到達目的地開始工作(沒開IDE直接用Terminal時),我通常也會把近期常用的cd放到任意門裡,方法如下:

# cd的目的地要記得改成自己要的地方喔!
alias proj="cd ~/Desktop/My_Project"

3. 修改文字顏色

開始花很多時間Trial and Error,這時候就需要讀很多Terminal裡面噴出來的錯誤訊息。在還沒設定文字顏色之前,看著全白的文字又找不到切入點,我的臉色也變得很白。於是我決定至少要把輸入點的顏色改的明顯一點,我就先去網路上抄了一段code下來加在.bash_profile裡。

export PS1="\[\033[36m\]\u\[\033[0m\]@\[\033[42m\]\h:\[\033[33;49;1m\]\w\[\033[0m\]\$ "

結果會像這樣
https://ithelp.ithome.com.tw/upload/images/20190919/20118683E8K2vWiV3Y.png
為了讓大家更好理解這一串字中發生了什麼事,我來說文解字:

export PS1="
    \[\033[36m\] -> 36m是cyan淺藍色
    \u -> User Name 使用者名稱
    \[\033[0m\] -> 0m是default
    @ -> 圖片中的白色@
    \[\033[42m\] -> 綠底,前面0m過所以文字會維持白色
    \h -> Host Name 主機名稱
    : -> 圖片中綠底的:
    \[\033[33;49;1m\] -> 33黃色、49預設底色、1是粗體,中間用;分隔,最後用m\結尾
    \w -> Working Directory
    \[\033[0m\]\ -> 恢復預設值
    $ -> 圖片中的$
"

大家可以照著一些網站的色碼來改自己喜歡的配色。

4. 總是沒辦法決定午餐吃什麼?

選擇太多了,沒辦法決定,那就寫個程式幫你選吧。這其實是我朋友的朋友的idea XD
先在桌面上寫個Python Code,依照往例,我們用Terminal來做這件事:
touch ~/Desktop/eat.py
open ~/Desktop/eat.py -> 我其實prefercode ~/Desktop/eat.py,但要先安裝VSCode XD

import random

food_list = ["Maccas", "KFC", "HJ's", "Pho", "Sushi", "Laksa", "Subway", "Curry", "Don", "Pizza"]
accept = 'n'

while (accept == 'n'):
    question = "Is " + random.choice(food_list) + " a good choice?(Y/n)"
    accept = input(question).lower()

print("Good.")

先用Terminal跑一次測試看看python eat.py
沒問題的話,我們就丟進.bash_profile吧!

alias eat="python ~/Desktop/eat.py"

最後,關掉Terminal重開,輸入eat測試看看吧!
https://ithelp.ithome.com.tw/upload/images/20190919/20118683Vu0VHPDiYO.png

來提問結果好像自己說太多,其實想聽大家聊聊自己怎麼把朝夕相處的Terminal變成神奇的魔法!

看更多先前的討論...收起先前的討論...
dragonH iT邦超人 5 級 ‧ 2019-09-19 21:14:40 檢舉
最後一個算偷渡嗎XD

跟 bash 沒有直接關係~
有點XD
之前看到覺得蠻有趣的
就寫來給大家參考哈哈哈
Windows使用者敲碗中
我的Windows10有加裝bash子系統耶 ~ 飄過 ~
小成 iT邦高手 10 級 ‧ 2019-09-20 08:37:22 檢舉
這邊是問答.....
froce iT邦大師 1 級 ‧ 2019-09-20 08:52:16 檢舉
zsh
Han iT邦研究生 1 級 ‧ 2019-09-20 10:07:05 檢舉
所以問題是午餐要吃什麼嗎XD
小成 iT邦高手 10 級 ‧ 2019-09-20 10:57:26 檢舉
所以是要問魔法??
問問大家怎麼設定自己的.bash_profile
froce iT邦大師 1 級 ‧ 2019-09-20 12:57:00 檢舉
就直接zsh和oh-my-zsh了啊,這串少數不歪樓的正經答案。
阿瑜 iT邦研究生 3 級 ‧ 2019-09-20 13:43:09 檢舉
推 具 linux溫度的 cmder
查到了oh-my-zsh跟cmder 來用用看XD 給推
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
賽門
iT邦超人 1 級 ‧ 2019-09-20 16:59:23
最佳解答

這篇比較適合放在技術文章吧,既然是技術分享,又沒發問。
在這回答也不太合適。
如果貼文者想換到技術文章類,不必顧忌我的回答,反正也不是回答。

本來希望能夠透過問答的方式找到更多使用方法,但我想我搞錯技術問答的用法了。

我要發表回答

立即登入回答