Elvish Shell 速覽
每個來到這裡的人都會對許多系統中默認 Bash shell 有所了解(無論多少)。過去這些年已經有一些新的 shell 出現來解決 Bash 中的一些缺點。Elvish 就是其中之一,我們將在今天討論它。
什麼是 Elvish Shell?
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 之前,但它已經適合大多數日常交互使用。」
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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive