超越 Bash: 9 个不太知名的 Linux Shell 及其功能 | Linux 中国
作者:Sreenath
译者:ChatGPT
你可能已经知道像 Bash 和 Zsh 这样的流行 Shell。让我们来探索一些有趣和独特的 Shell。
Shell 通过解释命令为 Linux 和类 Unix 系统提供了一个接口,充当用户与操作系统的核心工作之间的中介。
毫无疑问,Bash Shell 是最受欢迎的 Shell 之一,但有些用户喜欢其他 Shell,比如在 macOS 上的默认 Shell——ZSH。但是除了这些流行的 Shell 之外,还存在许多 Shell,具有不同的功能和用途。
在本文中,我们将介绍一些被积极维护并提供不同用户体验的不太常见的 Shell。
1、Fish Shell
谈到除了 Bash、Zsh 之外的 Shell,第一个想到的就是 Fish Shell。
Fish 是一个智能的、用户友好的命令行 Shell,主要适用于类 Unix 操作系统。
Fish Shell
Fish Shell 的特点:
安装 Fish:
Fish 可在几乎所有 Linux 发行版的官方仓库中获得。在 Ubuntu 中,你可以通过以下命令来安装:
sudo apt install fish
Ubuntu 仓库中的版本有点旧。如果你想安装最新版本,可以使用该团队提供的官方 PPA。
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt update
sudo apt install fish
2、Nushell
Nushell(Nu)是一种新型的 Shell,可以在 Linux、macOS、Windows、BSD 等系统上使用。它的哲学和灵感来自于类似于 PowerShell、函数式编程语言和现代 CLI 工具等项目。
Nushell
Nushell 的特点:
安装 Nushell:
如果你使用的是 Ubuntu,是无法找到一个 Apt 存储库来安装 Nushell 的。但是,根据其在 GitHub 上的说明,你可以通过安装所需的依赖项来构建它。
幸运的是,还有一种方法可以使用 Homebrew 在任何发行版上安装它。你可以参考我们的教程 在 Linux 上安装并使用 Homebrew 软件包管理器,成功在 Linux 上安装后,你需要输入以下命令来安装 Nushell:
brew install nushell
请访问其官方网站以查看更多安装方式。
3、Dune
该项目的创建者将 Dune 描述为海滩上的一个 “贝壳”。Dune 是一个快速、实用且美观的 Shell,提供了一些特殊的元编程功能,比如引用。
Dune Shell
Dune Shell 的特点:
安装 Dune Shell:
Dune shell 可在 Arch Linux 存储库中以 dunesh
的名字获得。
对于其他用户,Dune shell 可以通过 cargo
安装。所以,首先需要 安装最新版本的 Rust。如果已经安装了 Rust,请确保你有最新的版本,然后继续安装 Dune。
cargo install -f dune
安装完成后,可以通过输入以下命令访问 Shell:
dunesh
4、Xonsh
Xonsh 是一个用 Python 编写的,跨平台 Shell 和命令提示符。它结合了 Python 和 Bash Shell,用户可以直接在 Shell 中运行 Python 命令。甚至可以结合使用 Python 和 Shell 命令。
Xonsh shell
如果你想了解更多,请阅读我们的 Xonsh 文章:
Xonsh Shell 的特点:
安装 Xonsh Shell:
Xonsh 可在许多 Linux 发行版的仓库中获得,如 Ubuntu、Fedora 等。因此,要在 Ubuntu 上安装它,请运行:
sudo apt install xonsh
Xonsh 还提供了一个 AppImage 包,可以从它们的下载页面下载。如果你不熟悉这种文件格式,请参考我们的 AppImage 指南。
5、Hilbish
Hilbish 是一个可扩展 Shell,可通过 Lua 编程语言进行定制。该 Shell 面向普通用户和高级用户。
Hilbish shell
Hilbish 的特点:
安装 Hilbish:
Hilbish 在 Ubuntu 的包仓库中不可用。因此,需要从源代码构建安装。
要安装它,需要安装 Go 和 task。
sudo apt install golang-go
sudo snap install task --classic
安装完依赖项后,运行以下命令来安装 Hilbish shell:
git clone --recursive https://github.com/Rosettea/Hilbish
cd Hilbish
go get -d ./...
如果要使用稳定版,请运行以下命令:
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
task build
sudo task install
6、Elvish
Elvish 是一种丰富的编程语言和多功能交互式 Shell。它可以在 Linux、Mac 和 Windows 上运行。即使版本 v1.0 尚未发布,它已经适合大多数日常交互使用。
Elvish shell
Elvish 的特点:
CTRL+L
访问它。CTRL + N
访问。安装 Elvish:
Elvish Shell 可在 Ubuntu 和 Arch Linux 的包管理器中获得。因此,要安装它,请打开终端并键入:
sudo apt install elvish
或者
sudo pacman -S elvish
要了解有关 Elvish 的更多信息,请访问 Elvish 的官方网站。
7、Oh
据其开发者称,Oh 是 Unix shell 的重新设计。
它旨在成为现代 Shell 的更强大、更稳健的替代品,同时尊重 Unix shell 在过去半个世纪中建立的惯例。
Oh Shell 的特点:
安装 Oh:
Oh 提供了一个预编译的二进制文件。你需要从它们的 官方 GitHub 页面 下载它。
你需要使用以下命令为文件授予执行权限:
chmod +x oh
运行以下命令以在你的系统上安装它:
sudo mv oh /usr/local/bin/
现在,你可以通过以下命令启动 Oh:
oh
要了解有关 Oh 的详细信息,请查阅其文档。
8、Solidity
Solidity 是一个带有轻量级会话记录和远程编译器支持的交互式 Shell。当你更改指示/语言时,它会自动获取匹配的远程编译器。
Solidity 的特点:
pragma solidity <version>
会尝试动态加载所选的编译器版本。.session
命令保存和恢复会话。$_
是上一个已知结果的占位符。安装 Solidity:
你可以通过 npm
安装 Solidity shell。
确保你安装了最新版本的 nodejs 和 npm
,然后输入以下命令:
npm install -g solidity-shell
安装完成后,运行 solidity-shell
来开始会话。
9、Yash
Yash(Yet another shell)是一个遵循 POSIX 标准的命令行 Shell,使用 C99(ISO/IEC 9899:1999)编写。它具有适用于日常交互和脚本使用的功能。
Yash Shell 的特点:
安装 Yash Shell:
要安装该 Shell,你需要转到它们的 GitHub 发布 页面下载 tar 文件。解压 tar 文件;在其中,你将找到一个包含安装说明的 INSTALL
文件。
通常,你应该在提取的文件夹中执行以下命令:
./configure
make
sudo make install
要了解有关 Yash Shell 的详细信息,请查看其手册页面。
顺便提及
💬 你对这些列出的 Shell 有何看法?你是否会尝试将默认 Shell 更改为这里的某些选项?你最喜欢的是哪一个?在下面的评论框中分享你的想法。
(题图:MJ/a84a1625-4dd1-4589-aabb-ce3f37090f32)
via: https://itsfoss.com/shells-linux/
微信扫码关注该文公众号作者