
Introduction & 前言
寫了一陣子的程式碼,你有沒有曾經想過,有時候我們能像 git pull、git push…這樣輸入完指令就完成所有你預期內的步驟嗎?
這篇文章將帶你簡單入們一鍵指令,就可以完成你需要完成的任務。
Summary & 摘要

開始前先說說為何有寫這篇文章的動機;起因為筆者在工作上目前會有好幾個專案用到同一份專案的程式碼,簡單說就是好幾個不同家的廠商(A端)會打同一個專案的 API(B端)。
而在開發時我們本地只會留一個 B端 專案,上線才會一個專案(A端)配一個 API 專案(B端),而在本地我們就是靠切換 API(B端)的 ENV 去切換目前需要用到哪個會用到的資訊,像是資料庫。
但這篇文章最主要還是作為自己的筆記使用,記錄下如何透過 Shell Script 去一鍵執行我需要的任務。
何謂 Shell Script
Shell 是文字介面底下我們與系統溝通的一個工具介面,而 Script 即為腳本、劇本,就是針對 Shell 寫的腳本。
如何製作腳本並執行
在我們一鍵部署前,還是必須先寫好任務內容,這邊會用筆者工作上的例子來舉例。
先至隨便在一個你會記得的地方建立之後要一鍵啟動任務執行的 sh 檔案,
touch /你的路徑/update_api_env.sh。編輯這支 sh 檔案,
vim update_api_env.sh。
1 | #!/bin/bash |
在開頭的 #!/bin/bash 則為 Shell Script 的起手式。
- 在 Terminal 輸入
vim ~/.zshrc或vim ~/.bashrc,接著加入下面的自定義快捷鍵(關鍵字)。
1 | # 自定義快捷鍵 |
在這邊的自定義快捷鍵(關鍵字)也可加入許多自己平常會用到的指令,像是開頭提過的 git pull、git push…等等。
1 | alias gis='git status'; |
關掉你的 Terminal 然後重新開啟。
輸入剛剛取的快捷鍵名稱(關鍵字)
upEnv xxx就會替換成功了。
如何防呆
這時候如果我們只有輸入 upEnv 其實是會更改成功的,所以我們必須做一些防呆措施。
在我們提到的 Shell Script 其實也可以像我們寫 php 或是 JS 一樣寫一些判斷式,這邊提供一個範例:
1 | if [ ! -n "$1" ] ; then |
這邊有幾個雷需要注意,Shell Script 每個判斷 或 每個值 建議都留一個空白鍵跟下個值做區隔,不然容易報錯。
$1 的意思為輸入指令時空白鍵後第一個參數,舉例來說在上面我們設定啟動這個執行檔的關鍵字為
upEnv,如果你輸入upEnv Hello World,Hello 將會是第一個變數($1),World 將會是第二個變數($2),以此類推…
加上絢麗的效果
這邊會看到 echo 出來的東西有點單調,就是單純的文字,如果有設定錯誤提醒,或許不夠明顯。
好在我們可以對 echo 設定顏色,加入的指令為:
1 | echo -e "\033[30m文字字串\033[0m" --> 黑色字 |

Conclusion & 結論
這邊文章簡短的介紹如何使用快捷鍵一鍵更換 ENV,這次在工作上托同事的福又學了一招,趁記憶猶新趕緊記錄下來,這會是一個實用的功能!