fish
友善互動式 Shell
軟體分類 生產力 / 系統工具
軟體標籤
rated-1CMSMicrosoft Planner
開發廠商 fish-shell developers
產品說明
fish (Friendly Interactive Shell) 是一款極具現代感的命令行 Shell。與 Bash 或 Zsh 不同,fish 的核心設計哲學是「開箱即用」(Discoverability),使用者不需要安裝複雜的插件(如 Oh My Zsh),就能享有語法高亮、智慧補全與自動建議功能。
它的自動建議功能會根據使用者的歷史紀錄,在輸入時以灰字預測可能的指令,只需按一下右方向鍵即可完成輸入。此外,fish 採用了更簡潔、更接近現代程式語言的語法,解決了傳統 Shell 語法中許多晦澀難懂的坑(例如變數引用與迴圈寫法)。
核心特色:
- 智慧建議:根據輸入歷史自動預測指令,大幅提升打字速度。
- 內建語法高亮:在按下 Enter 前就能透過顏色判斷指令是否正確(正確為綠色,錯誤為紅色)。
- Web 化配置:提供圖形化網頁介面(
fish_config),讓使用者直接在瀏覽器調整配色與提示字元。 - 簡化的腳本語法:捨棄了 Bash 繁瑣的語法規則,讓編寫自動化腳本更直覺、更易讀。
常用指令
fish 的操作非常直覺,以下是常用的互動操作與獨特指令:
基礎互動操作
| 操作 | 功能說明 | 效果 |
|---|---|---|
| → (右方向鍵) | 採納建議 | 接受目前顯示的灰色預測文字 |
| Alt + → | 採納部分建議 | 僅接受下一個預測的單字 |
| Alt + s | Prefix sudo | 在目前的指令前快速加上 sudo |
| Alt + l | 列出目錄 | 快速執行 ls 查看目前資料夾內容 |
| Alt + p | Pager 模式 | 在補全選單中快速翻頁 |
核心控制指令
# 開啟網頁版配置介面 (非常強大的特色)
fish_config
# 將 fish 設定為預設 Shell
chsh -s /usr/bin/fish
# 查看指令的求助文件 (會直接在瀏覽器開啟 HTML 格式)
help [command]
# 定義變數 (fish 不使用 '=' 號)
set -gx MY_PATH "/usr/local/bin"
腳本範例 (比較 Bash 與 fish)
Bash:
if [ "$1" == "hello" ]; then
echo "Hi!"
fi
fish:
if test "$argv[1]" = "hello"
echo "Hi!"
end
操作介面



