17611538698
webmaster@21cto.com

新的交互式Shell:Fish

编程语言 0 21 1天前
图片

各位伙伴,你是否正在寻找 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

编译:洛逸

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。