你是否正在尋找 bash 的替代品?你是否在尋找更人性化的東西?不用再看了,因為你剛發現了 fish!-- Michal Konečný(作者)
你是否正在尋找 bash 的替代品?你是否在尋找更人性化的東西?不用再看了,因為你剛發現了 fish!
Fish(友好的交互式 shell)是一個智能且用戶友好的命令行 shell,可在 Linux、MacOS 和其他操作系統上運行。可以將其用於終端的日常工作和腳本編寫。用 fish 編寫的腳本比相同的 bash 版本具有更少的神秘性。
Fish 的用戶友好功能
- 建議:Fish 會提示你之前寫過的命令。當經常輸入相同命令時,這樣可以提高生產率。
- 健全的腳本能力:Fish 避免使用那些隱秘字符。這提供了更清晰和更友好的語法。
- 基於手冊頁的補全:Fish 會根據命令的手冊頁自動補全參數。
- 語法高亮:Fish 會高亮顯示命令語法以使其在視覺上友好。
安裝
Fedora 工作站
使用 dnf 命令安裝 fish:
<code>$ sudo dnf install fish/<code>
安裝 util-linux-user 包,然後使用適當的參數運行 chsh(更改 shell 程序)命令,將 fish 設置為默認 shell 程序:
<code>$ sudo dnf install util-linux-user
$ chsh -s /usr/bin/fish/<code>
你需要註銷然後重新登錄,更改才能生效。
Fedora Silverblue
由於它不是 GUI 應用,因此你需要使用 rpm-ostree 將其加到層內。使用以下命令在 Fedora Silverblue 上安裝 fish:
<code>$ rpm-ostree install fish/<code>
在 Fedora Silverblue 上,你需要重啟 PC 才能切換到新的 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 的工作與大多數其他 shell 相似。其他差異已經寫在文檔中。因此,找到你可能感興趣的其他功能應該不難。
讓 fish 變得更強大
使用 powerline 使 fish 變得更強大。Powerline 可以為 fish 的界面添加命令執行時間、彩色化 git 狀態、當前 git 分支等。
在安裝 powerline 之前,你必須先安裝 Oh My Fish 。Oh My Fish 擴展了 fish 的核心基礎架構,以支持安裝其他插件。安裝 Oh My Fish 的最簡單方法是使用 curl 命令:
<code>> curl -L https://get.oh-my.fish | fish/<code>
如果你不想直接將安裝命令管道傳給 fish,請參見 Oh My Fish 的 README 的安裝部分,以瞭解其他安裝方法。
Fish 的 powerline 插件是 bobthefish 。Bobthefish 需要 powerline-fonts 包。
在 Fedora 工作站上:
<code>> sudo dnf install powerline-fonts/<code>
在 Fedora Silverblue 上:
<code>> rpm-ostree install powerline-fonts/<code>
在 Fedora Silverblue 上,你必須重啟以完成字體的安裝。
安裝 powerline-fonts 之後,安裝 bobthefish:
<code>> omf install bobthefish/<code>
現在你可以通過 powerline 體驗 fish 的全部奇妙之處:
更多資源
查看這些網頁,瞭解更多 fish 內容:
- 官網
- 文檔
- 教程
- 常見問題
- 在線體驗
- 郵件列表
- GitHub
via: https://fedoramagazine.org/fish-a-friendly-interactive-shell/
作者: Michal Konečný 選題: lujun9972 譯者: geekpi 校對: wxy
本文由 LCTT 原創編譯, Linux中國 榮譽推出
閱讀更多 Linux中國 的文章