iT邦幫忙

2025 iThome 鐵人賽

DAY 26
2

嗨!歡迎回到上班族的命令列生存手冊。上一個章節講到 git,我就想到 GitHub。一想到 GitHub,就想到 GitHub Copilot。在 Warp 裡頭叫 AI 下指令好爽,一離開 Warp 就突然不知道怎麼下指令。如果一般環境也能叫 AI 下指令好像挺棒的。

幸好,GitHub Copilot 有提供 Command Line 版,這個要從 GitHub 的 Command Line 版安裝,請讀者準備好 GitHub 帳號(還沒有的,也許可以考慮去開一個),先來安裝 Github command line tools。請開啟這個專案的Repo 網頁

往下捲動到 Installation 區塊,這一次就交給讀者自己安裝看看。先看目前使用的系統是什麼,店進去內頁之後就會有對應的套件管理器指令,跟著下就可以安裝啦。

gh 指令

首先要登入 Github,用以下指令登入,有兩種方式 HTTPs 和 SSH,選擇自己喜歡的方式即可。
筆者選擇 HTTPs 然後開網頁授權,覺得比較容易。

$ gh auth login --web -h github.com

做好之後這樣檢查是不是已經登入成功:

https://ithelp.ithome.com.tw/upload/images/20251010/20141615xBQ8vhdSc0.png

$ gh auth status

如果有顯示:✓ Logged in to github.com account 您的芳名 (keyring),就是成功啦。在開始爽爽之前有一些前置流程需要先用,比如說要安裝 gh 的 extension(今年連指令都能有 extension,真有你的微軟。)

gh extension

廢話不多說,直接進入業配主題。這樣裝:

$ gh extension install github/gh-copilot

就緒後,可以這樣查看指令是否有正常安裝:

$ gh extension list

看到 gh copilot 就代表一切都就緒啦。

How fun 如何爽?

基礎的用法是這個樣子的,gh 的 copilot 主要有兩個命令可以用:

  • suggest: 建議某個問題,怎麼用命令列執行
  • explain: 說明指令

詢問

舉個例子,怎麼確認目前這台電腦的網路沒有問題?可以這樣下指令:

https://ithelp.ithome.com.tw/upload/images/20251010/20141615earJQS9QBo.png

$ gh copilot suggest "how to check my internet is working?"

之後它會問你,你要問的內容是一般的 Shell 指令,gh 的還是 git 的命令,當然是詢問一般的 Shell 指令。

接下來就會出現結果,目前我們的下法沒有辦法叫它直接執行,讀者可以複製到剪貼簿後貼上執行。

說明指令

這個功能可以請 copilot 說明輸入的指令,適合用來檢查那些來路不明的指令。比如說這個:

$ ping -c 4 google.com

這是啥?帶著忐忑的心去問 gh copilot:

$ gh copilot explain "ping -c 4 google.com"

https://ithelp.ithome.com.tw/upload/images/20251010/20141615l4DwkpP01O.png

可以注意到它會依照順序解釋各個內容。是不是比 tldrman 還要更懶人呢?copilot 在 suggest 完指令後,也可以請它說明指令,如果有不了解,就不用再另外下。

寫到這邊網路寫手已經沒有任何的祕密,東西都在那裡了自己去找吧! 等一下,你說每次都打這個多字,誰受得了?好險上一個章節有介紹的 alias,我們就來設定吧。

建立 Alias

zsh/bash

zsh 和 bash 的使用者有福了!gh copilot 有幫 zsh/bash 先寫好 alias (其實是 Function),運用上一章節學會的設定檔設定,就能立刻套用(還沒看前一章節,記得去看呦!)請下:

$ gh copilot alias

會注意到有三個選項,分別是:bash、PowerShell 和 zsh。請選擇各自對應的 Shell,選好後會發現印了一堆東西在畫面上,看起來是一堆 function,請讀者先複製這些 Shell Script。

接著開啟 zsh/bash 的設定檔:

$ vim ~/.bashrc 
 
# 或是

$ vim ~/.zshrc

一樣捲動到下方的空白處,將上面複製的那些通通貼上來,就可以存檔離開,重新啟動一個 Session。

fish

別怕!還記得介紹 fish 時介紹了如何安裝外掛嗎?當時介紹一套叫做 fisher 的工具(忘記的可以前去補一下。)讓我們安裝這個 Plugins:

$ fisher install rcny/gh-copilot-cli-alias.fish

安裝好後重新啟動一個 Session。

全速前進

變得多短?沒看不知道,一看嚇一跳。

suggest

$ ghcs '<問題>'

對,其實可以直接問中文:

$ ghcs 怎麼移除空白的資料夾?

而且用 copilot 提供的 alias,結果出來後可以直接叫它執行!是不是更棒了呢?

explain

$ ghce '<指令>'

基本上就跟上面完整的 explain 指令的輸出是一樣的。
因為 gh 是一般的命令列指令,所以就算不在 Warp 裡頭也可以使用。截至這一章節為止,基本上已經沒有任何的指令可以難倒讀者了,那接下來筆者還能寫什麼呢?

這一節題到了 GitHub,那下一個章節就來介紹 git 指令,和他的各種延伸工具。


上一篇
Day25 生活品質篇:設定你的 Shell
系列文
上班族的命令列 (CLI) 生存手冊26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
chiaominchang222
iT邦新手 5 級 ‧ 2025-10-10 12:22:04

為何都可以產出這麼多阿 厲害

0
AndyAWD
iT邦新手 2 級 ‧ 2025-10-10 23:14:03

國慶日快樂~

快樂 但按讚好像沒有加一 疑

我要留言

立即登入留言