你是否正在尋找 bash 的替代品?你是否在尋找更人性化的東西?不用再看了,因為你剛發現了 fish!
Fish(友好的互動式 shell)是一個智慧且使用者友好的命令列 shell,可在 Linux、MacOS 和其他作業系統上執行。可以將其用於終端的日常工作和指令碼編寫。用 fish 編寫的指令碼比相同的 bash 版本具有更少的神秘性。
使用 dnf
命令安裝 fish:
$ sudo dnf install fish
安裝 util-linux-user
包,然後使用適當的引數執行 chsh
(更改 shell 程式)命令,將 fish 設定為預設 shell 程式:
$ sudo dnf install util-linux-user$ chsh -s /usr/bin/fish
你需要登出然後重新登入,更改才能生效。
由於它不是 GUI 應用,因此你需要使用 rpm-ostree
將其加到層內。使用以下命令在 Fedora Silverblue 上安裝 fish:
$ rpm-ostree install fish
在 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 設定為預設 shell 程式後,命令提示字元將類似於下圖所示。如果尚未將 fish 設定為預設 shell,只需執行 fish
命令以在當前終端對談中啟動。
在你開始輸入命令時,你會注意到語法高亮顯示:
很酷,不是嗎?