如何在 Linux 系統中從 Bash 切換到 Fish Shell

安裝 Fish,確認其完整路徑已新增至設定檔中/etc/shells,然後chsh -s "$(command -v fish)"以您的帳戶身分執行 Fish。登出並重新登入即可在新登入工作階段中使用 Fish。要先試用 Fish,fish請輸入 ` exitfish -g Fish ...

Fish 有自己的語法和設定方式;它不會讀取 Bash 啟動檔案。帶有 Bash shebang 的腳本可以繼續由 Bash 運行。

1. 安裝 Fish

使用發行版自備的軟體套件管理器。以下是 Fish 軟體包的標準指令;有關軟體包來源,請參閱Fish 官方安裝頁面:

  • Ubuntu 或 Debian:sudo apt install fish
  • Fedora:sudo dnf install fish
  • Arch Linux:sudo pacman -S fish
  • openSUSE:sudo zypper install fish

對於其他發行版,請在其官方儲存庫中搜尋fish;軟體包管理器將安裝和更新集中在一個地方。

四個 Linux 終端機範例,展示了 Fish 安裝 apt、dnf、pacman 和 zypper 的命令。
選擇適合您發行版的命令;軟體包版本和安裝程式輸出會因儲存庫而異。

2. 檢查 Fish 的路徑和允許的 shell 入口

在目前的 Bash 終端機中,找到可執行檔並檢查其確切路徑是否出現在下列位置/etc/shells:

command -v fish
grep -Fx "$(command -v fish)" /etc/shells

路徑通常是 `/etc/fish/fish/` /usr/bin/fish,但請使用機器上列印的路徑。第二個命令應該會返回相同的路徑。許多chsh組態只接受 `/etc/fish/fish/` 中所列的 shell /etc/shells,如chsh 手冊所述。如果沒有符合項,請聯絡管理員註冊 Fish 的安裝路徑。

Linux 終端機檢查指令 -v fish 和在 etc shell 中執行 grep fish 指令,結果都顯示 usr bin fish。
所示路徑僅為範例。請使用安裝程式實際報告的路徑。

3. 在將其設為預設設定之前,請先試用 Fish 瀏覽器。

在 Bash 中輸入以下命令即可開始互動式 Fish 會話:

fish

嘗試幾個常用指令,注意語法高亮、Tab 鍵自動補全和自動建議功能。按 Enter 鍵exit返回 Bash。 Fish官方教學詳細介紹了這些互動式功能。

Bash 終端機提示符啟動 fish 並切換到 Fish 提示符
啟動fish測試僅針對目前終端機;它不會更改您帳戶的登入 shell。

4. 將 Fish 設定為您的登入 shell

路徑檢查成功後,以您的常規帳戶從 Bash 執行以下命令:

chsh -s "$(command -v fish)"

如果提示,請輸入密碼。不要使用 `--no-shell` sudo,因為它會更改 root 使用者的 shell 而不是您自己的 shell。 `-- chshno-shell` 會記錄您的登入 shell,但不會變更現有的終端標籤頁。請登出桌面會話並重新登錄,或重新連線 SSH。如果新開啟的終端機仍然啟動 Bash,請檢查其設定檔是否強制執行自訂命令。

一位普通的 Linux 使用者使用 chsh 指令並傳入 fish 的完整路徑,然後收到密碼提示。
chsh請勿執行此操作sudo,以便變更已套用至您自己的帳戶。

5. 將 Fish 設定新增至其自身的設定檔中

Fish 從 `<username>` 資料夾讀取使用者設置~/.config/fish/config.fish,而不是從`<username>` 資料夾讀取~/.bashrc。建立該資料夾,並使用您喜歡的編輯器開啟該檔案;本例使用 Nano 編輯器:

mkdir -p ~/.config/fish
nano ~/.config/fish/config.fish
Fish 提示字元使用 mkdir 建立 .config/fish 目錄並開啟該目錄
每個使用者的標準 Fish 配置資料夾是~/.config/fish.

例如,要隱藏 Fish 的問候語,請將以下 Fish 指令新增至檔案:

set -g fish_greeting

儲存文件,然後啟動一個新的 Fish shell 來載入它。您也可以使用 Fish 語法設定導出的環境變量,例如 `--export-environment-variables`。 Fish set -gx EDITOR nanoFAQ文件介紹了問候語設置,並解釋了 Fish 啟動文件與 Bash 文件的差異。

使用 Nano 編輯器編輯 Fish 設定資料夾中的 config.fish 文件,其中包含問候語設定和匯出的編輯器變數。
請使用 Fish 語法config.fish;Bash 賦值語句(例如 `bash_includes`)EDITOR=nano不是 Fish 設定指令。

6. 自訂提示或顏色

執行fish_config此命令開啟 Fish 的本機 Web 設定工具,您可以在其中瀏覽提示符號和顏色選項。您也可以在終端機中進行操作。例如,使用 `ls` 指令列出主題fish_config theme list。若要預覽和儲存範例提示符,請執行:

fish_config prompt show
fish_config prompt choose disco
fish_config prompt save

choose 指令將提示符號套用到目前會話;save 指令將其儲存到會話中以供將來使用。有關 Web 介面和命令選項,請參閱fish_config 參考文件。

Fish 終端機清單主題、選擇顏色主題和儲存範例提示
Fish 提供命令列提示符號和主題工具,以及基於瀏覽器的設定器。

7. 使用自動建議和自動補全功能

輸入時,Fish 會根據您的命令歷史記錄、有效路徑和補全選項顯示灰色建議。按右箭頭鍵或Ctrl+F回車鍵接受建議;接受建議只會填滿命令列,因此請單獨按 Enter 鍵運行它。按下回車鍵補Tab全指令、參數或路徑,或按回車鍵查看可用選項。

在 Fish 終端機中輸入 git che 後,會顯示灰色的指令建議和補全清單。
魚類建議和 Tab 鍵自動補全功能可協助完成指令,而無需自動執行。

從 Bash 遷移到其他腳本時,有哪些變化?

Fish 不是 POSIX 相容的 Bash 替代品。變數和控制塊使用不同的語法:

任務巴什魚
設定變數name=valueset name value
導出變數export EDITOR=nanoset -gx EDITOR nano
結束一個if區塊fiend

Fish 不會載入.bashrc別名或 Bash 函數。請#!/usr/bin/env bash在需要使用 Bash 執行的腳本中新增 Bash shebang,例如 `/etc/fish/fish/`。詳情請參閱 Fish 的語言和配置文件。

切換回 Bash 或進行故障排除

要恢復 Bash,請在 Fish 中執行此命令。 Fish 支援熟悉的$(...)命令替換:

chsh -s "$(command -v bash)"

登出並重新登入。如果chshFish 拒絕連接,請重新檢查其路徑/etc/shells。對於 SSH 或 SCP 問題,請從設定檔中移除所有輸出命令config.fish;Fish 也會在非互動式 shell 中讀取這些命令。保護僅互動式配置,例如:

if status is-interactive
    # interactive-only setup
end

有關詳細信息,請參閱 Fish配置文件文件。

留下評論

如何安全地恢復遺失的分區和硬碟數據

如何安全地恢復遺失的分區和硬碟數據

學習如何使用 TestDisk 和 PhotoRec 恢復遺失的分割區和檔案。保護來源驅動器,安全掃描,並將復原的資料儲存到另一個磁碟。

如何在 Linux 桌面系統上掃描二維碼

如何在 Linux 桌面系統上掃描二維碼

使用 CoBang 在 Linux 系統上透過網路攝影機或影像檔案掃描二維碼。查看 Flatpak 攝影機存取的安裝選項、設定步驟和修復方法。

如何在Linux系統上使用Cameractrls更改網路攝影機設置

如何在Linux系統上使用Cameractrls更改網路攝影機設置

使用 Cameractrls 在 Linux 上變更網路攝影機設定:調整曝光、色彩、減少閃爍和其他支援的控件,然後檢查相容的視訊模式。

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

在 Linux 系統上,您可以使用 JetBrains Toolbox 或獨立的 tar.gz 壓縮套件安裝 PhpStorm,此外還有 Snap 和 Arch AUR 版本可供選擇。 Java 已預先安裝。

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

在 Linux 上使用 GNOME Disks 或 dd 建立 CD-ROM ISO。識別光碟機,監控複製過程,驗證鏡像,並了解何時損壞的光碟或音訊光碟需要其他工具。

如何在 XFCE 4 上設定雙面板

如何在 XFCE 4 上設定雙面板

為每個顯示器建立一個單獨的 XFCE 4 面板,將第二個面板指派給正確的輸出,調整其位置和大小,並新增所需的啟動器和狀態項目。

如何在Linux上安裝Cisco Packet Tracer

如何在Linux上安裝Cisco Packet Tracer

下載適用於 Ubuntu 64 位元系統的 Cisco Packet Tracer 9.0.1,使用 APT 安裝 DEB 軟體包,在終端機中接受許可協議,然後登入以啟動實驗環境。

如何在Linux系統下使用GIMP摳圖

如何在Linux系統下使用GIMP摳圖

在 Linux 系統上使用 GIMP 去除照片背景:描繪主體,刪除選定的背景,保持透明度,並匯出可重複使用的 PNG 檔案。

免費下載 FlightGear:官方安裝指南

免費下載 FlightGear:官方安裝指南

從官方網站免費下載 FlightGear。比較 Windows、macOS 和 Linux 版本的軟體包,安裝資料文件,即可開始您的首次飛行。

Google Tasks桌面應用程式:如何在電腦上使用

Google Tasks桌面應用程式:如何在電腦上使用

在瀏覽器中開啟 Google Tasks,新增 Chrome 捷徑或應用程式啟動,並透過行事曆和 Gmail 管理有日期的待辦事項。