各位夥伴,你是否正在尋找 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
編譯:洛逸
相關閱讀: