新的互動式 Shell:Fish

圖片

各位夥伴,你是否正在尋找 Bash 的替代品?你是否正在尋找更容易使用的工具?那麼,別再猶豫了,看到本文,你就已經找到了「夢寐以求」的答案。

Fish(全稱友好互動式 Shell,A Friendly Interactive Shell)是一款智慧且使用者友好的命令列 shell,可以在 Linux、macOS 和其他作業系統上運行。它可用於日常終端操作和腳本編寫。與同等功能的 bash 腳本相比,用 fish 編寫的腳本更易於理解。

Fish 的使用者友好功能:

  • Fish 會根據你之前輸入的內容生成建議命令。這可以提高頻繁輸入相同命令的效率。
  • 合理的腳本編寫

它避免使用者使用晦澀難懂的字符,從而提供更清晰、更友好的語法。

  • 基於手冊頁的自動補全:

Fish 會根據命令的手冊頁自動補全參數。

  • Fish 的語法高亮功能

會高亮顯示命令語法,使其更易於閱讀和理解。

安裝方法

以下,以Fedora 工作站下安裝方法為主要介紹。

使用 dnf 命令安裝 fish:

$ sudo dnf install fish

安裝 util-linux-user 軟體包,然後使用適當的參數運行 chsh (即更改 shell)命令,就可以將 fish 設定為預設 shell:

$ sudo dnf install util-linux-user
$ chsh -s /usr/bin/fish

需要登出並重新登入才能使更改生效。

由於這不是圖形使用者介面應用程式,需要使用 rpm-ostree 進行分層安裝。使用以下命令在 Fedora Silverblue 上安裝 fish:

$ rpm-ostree install fish

在 Fedora Silverblue 上,需要重新啟動才能切換到新的 ostree 映像檔。

如果你想在 Fedora Silverblue 上將 fish 設定為主 shell,最簡單的方法是更新 /etc/passwd 檔案。找到你的使用者並將 /bin/bash 更改為 /usr/bin/fish

然後你需要 root 權限才能編輯 /etc/passwd 檔案。再次提示,需要登出並重新登入才能使更改生效。

fish 的使用者設定檔位於 ~/.config/fish/config.fish。要對所有使用者進行設定更改,請編輯 /etc/fish/config.fish

每個使用者的設定檔必須手動建立。安裝腳本不會建立 ~/.config/fish/config.fish 檔案。

以下是一些設定範例及其對應的 bash 腳本,方便我們快速使用:

建立別名

  • ~/.bashrc

    alias ll='ls -lh'

  • ~/.config/fish/config.fish

    alias ll='ls -lh'

設定環境變數

  • ~/.bashrc

    export PATH=$PATH:~/bin

  • ~/.config/fish/config.fish

    set -gx PATH $PATH ~/bin

與fish打交道

如果將 fish 設定為預設 shell,命令提示字元將類似於下圖所示。如果尚未將 fish 設定為預設 shell,只需執行 fish 命令即可在當前終端會話中啟動它。

圖片

當你開始輸入命令時,你會注意到語法高亮顯示:

圖片

很酷,對不對?🙂

輸入時,系統還會提供命令建議。例如,再次輸入上一個命令:

圖片

注意輸入時出現的灰色文字。這些灰色文字是提示資訊,代表您之前輸入的命令。要自動補全,只需按 CTRL+F 即可。

輸入短橫線(-)然後按 Tab 鍵,即可根據前面命令的手冊頁取得參數建議:

圖片

按一次 TAB 鍵,會顯示前幾個建議(如果只有幾個論據,則會顯示所有建議)。再按一次 TAB 鍵,會顯示所有建議。連續按三次 TAB 鍵,會切換到互動模式,此時可以使用方向鍵選擇論據。

讓Fish變得更強大

使用Powerline 讓 Fish 的功能更加強大。它為 Fish 的界面添加了命令執行時間、彩色 Git 狀態、當前 Git 分支等諸多功能。

在為 Fish 安裝 Powerline 之前,必須先安裝 Oh My Fish。Oh My Fish 擴展了 Fish 的核心基礎架構,使其能夠安裝其他外掛程式。安裝 Oh My Fish 最簡單的方法是使用 curl 命令:

curl -L https://get.oh-my.fish | fish

如果不想直接將安裝命令透過管道傳遞給 curl ,請參閱 Oh My Fish 的 README 檔案中的安裝部分,了解其安裝方法。

Fish 的 powerline 外掛程式是 bobthefish。Bobthefish 需要 powerline-fonts 套件。

在 Fedora 工作站上:

sudo dnf install powerline-fonts

在 Fedora Silverblue 上:

> rpm-ostree install powerline-fonts

在 Fedora Silverblue 系統上,您需要重新啟動系統才能完成字體安裝。

安裝完 powerline-fonts 軟體包後,安裝 bobthefish

> omf install bobthefish

現在,你就可以透過 Powerline 體驗到釣魚的全部樂趣了:

圖片

結語

fishshell.com 最近發布了互動式 Shell 的 fish 4.3版本。

此版本改進了主題設定,使其更加智慧,並增強了自動補全和終端整合。此外,它還對腳本和互動功能進行了大量更改,並進行了多項增強和改進,同時提高了穩定性。

Fish的GitHub:

https://github.com/fish-shell/fish-shell

編譯:洛逸

相關閱讀:

谷歌推出 AI 命令行編碼工具,直達 Shell

Linux:核心如何與硬體互動的

為啥 90% 的微服務仍然像單體應用一樣?


分享網址
AINews·AI 新聞聚合平台
© 2026 AINews. All rights reserved.