Elvish Shell 速览 | Linux 中国
每个来到这里的人都会对许多系统中默认 Bash shell 有所了解(无论多少)。过去这些年已经有一些新的 shell 出现来解决 Bash 中的一些缺点。Elvish 就是其中之一,我们将在今天讨论它。
什么是 Elvish Shell?
Pipelines In Elvish
Elvish 不仅仅是一个 shell。它也是“一种表达性编程语言”。它有许多有趣的特性,包括:
Ctrl + N
)Ctrl + R
)Ctrl + L
)if
条件控制、for
和 while
循环,还有 try
的异常处理”你肯定在喊,“为什么叫 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 安装最新版本。你需要使用以下命令:
sudo add-apt-repository ppa:zhsj/elvish
sudo apt update
sudo apt install elvish
Fedora
Elvish 在 Fedora 的主仓库中没有。你需要添加 FZUG 仓库安装 Evlish。为此,你需要使用以下命令:
sudo dnf config-manager --add-repo=http://repo.fdzh.org/FZUG/FZUG.repol
sudo dnf install elvish
Arch
Elvish 在 Arch 用户仓库中可用。
我相信你知道该如何在 Linux 中更改 Shell,因此安装后可以切换到 Elvish 来使用它。
对 Elvish Shell 的想法
就个人而言,我没有理由在任何系统上安装 Elvish。我可以通过安装几个小的命令行程序或使用已经安装的程序来获得它的大多数功能。
例如,Bash 中已经存在“搜索历史命令”功能,并且效果很好。如果要提高历史命令的能力,我建议安装 fzf。fzf
使用模糊搜索,因此你无需记住要查找的确切命令。fzf
还允许你预览和打开文件。
我认为 Elvish 作为一种编程语言是不错的,但是我会坚持使用 Bash shell 脚本,直到 Elvish 变得更成熟。
你们都有用过 Elvish 么?你认为安装 Elvish 是否值得?你最喜欢的 Bash 替代品是什么?请在下面的评论中告诉我们。
如果你发现这篇文章有趣,请花一点时间在社交媒体、Hacker News 或 Reddit 上分享它。
via: https://itsfoss.com/elvish-shell/
作者:John Paul 选题:lujun9972 译者:geekpi 校对:wxy
- 去掉了 chrome-gnome-shell 的 Gnome | Linux 中国
- 让 Emacs shell 命令发送桌面通知 | Linux 中国
- 管理你的 shell 环境 | Linux 中国
- Shell 中的命令替换及参数扩展 | Linux 中国
- ClusterShell:一个在集群节点上并行运行命令的好工具 | Linux 中国
- it-linux-shell--命令翻译--01-ls
- Linux中shell编程需要避免的坑之shell语法篇(二)
- Linux下最常用的Shell命令的介绍
- 一种在linux下启动shell进程并取得控制台输出的方法
- linux: shell常用指令归纳
- Linux--Shell中变量 $# $0 $1 $2 $@ $* $$ $? 的含义
- Linux 基础知识(2)—shell 简介
- Linux的shell基础教学
- 大神教你如何在 Linux 中启用 Shell 脚本的调试模式
- 在linux编写shell程序并执行
- Linux下编写脚本Shell和Python的区别
- 【Linux】Shell - 脚本练习 - 获取变量的变量值
- Linux中shell编程需要避免的坑之shell语法篇(三)
- Linux – shell输入与输出
- linux下命令行查看Memcached运行状态(shell)