带你了解Elvish Shell
创始人
2025-03-18 16:21:36
0次

[[278061]]

每个来到这里的人都会对许多系统中默认 Bash shell 有所了解(无论多少)。过去这些年已经有一些新的 shell 出现来解决 Bash 中的一些缺点。Elvish 就是其中之一,我们将在今天讨论它。

什么是 Elvish Shell?

 

Pipelines In Elvish

Elvish 不仅仅是一个 shell。它也是“一种表达性编程语言”。它有许多有趣的特性,包括:

  • 它是由 Go 语言编写的
  • 内置文件管理器,灵感来自 Ranger 文件管理器(Ctrl + N)
  • 可搜索的命令历史记录(Ctrl + R)
  • 访问的目录的历史记录(Ctrl + L)
  • 支持结构化数据,例如列表、字典和函数的强大的管道
  • 包含“一组标准的控制结构:有 if 条件控制、for 和 while 循环,还有 try 的异常处理”
  • 通过包管理器支持第三方模块扩展 Elvish
  • BSD 两句版许可证

你肯定在喊,“为什么叫 Elvish?”。好吧,根据他们的网站,他们之所以选择当前的名字,是因为:

在 Roguelike 中,精灵制造的物品质量很高。它们通常被称为“精灵物品”。但是之所以选择 “elvish” 是因为它以 “sh” 结尾,这是 Unix shell 的久远传统。这个与 fish 押韵,它是影响 Elvish 哲学的 shell 之一。

如何安装 Elvish Shell

Elvish 在几种主流发行版中都有。

请注意,该软件还很年轻。最新版本是 0.12。根据该项目的 GitHub 页面:“尽管还处在 1.0 之前,但它已经适合大多数日常交互使用。”

 

Elvish Control Structures

Debian 和 Ubuntu

Elvish 包已引入 Debian Buster 和 Ubuntu 17.10。不幸的是,这些包已经过时,你需要使用 PPA 安装最新版本。你需要使用以下命令:

  1. sudo add-apt-repository ppa:zhsj/elvish
  2. sudo apt update
  3. sudo apt install elvish

Fedora

Elvish 在 Fedora 的主仓库中没有。你需要添加 FZUG 仓库安装 Evlish。为此,你需要使用以下命令:

  1. sudo dnf config-manager --add-repo=http://repo.fdzh.org/FZUG/FZUG.repol
  2. sudo dnf install elvish

Arch

Elvish 在 Arch 用户仓库中可用。

我相信你知道该如何在 Linux 中更改 Shell,因此安装后可以切换到 Elvish 来使用它。

对 Elvish Shell 的想法

就个人而言,我没有理由在任何系统上安装 Elvish。我可以通过安装几个小的命令行程序或使用已经安装的程序来获得它的大多数功能。

例如,Bash 中已经存在“搜索历史命令”功能,并且效果很好。如果要提高历史命令的能力,我建议安装 fzf。fzf 使用模糊搜索,因此你无需记住要查找的确切命令。fzf 还允许你预览和打开文件。

我认为 Elvish 作为一种编程语言是不错的,但是我会坚持使用 Bash shell 脚本,直到 Elvish 变得更成熟。

 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...