TranslateProject/published/202203/20220323 Xonsh Shell Combines the Best of Bash Shell and Python in Linux Terminal.md

110 lines
5.2 KiB
Markdown
Raw Normal View History

[#]: subject: "Xonsh Shell Combines the Best of Bash Shell and Python in Linux Terminal"
[#]: via: "https://itsfoss.com/xonsh-shell/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lujun9972"
[#]: translator: "lkxed"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14390-1.html"
Xnosh Shell在 Linux 终端结合 Bash Shell 和 Python 的最佳特性
======
![](https://img.linux.net.cn/data/attachment/album/202203/24/111824ufw1815lyvclnsr2.jpg)
最受欢迎的 shell 是什么?我猜你会回答 bash 或者 zsh没错的确如此。
UNIX 和 Linux 系统上有许多可用的 shell包括 Bash、Ksh、Zsh、Fish 等等。
最近,我碰到了另外一个 shell它结合了 Python 和 bash还蛮特别的。
### Xonsh shell为喜爱 Python 的 Linux 用户而打造
[Xonsh][1] 是一个使用 Python 编写的跨平台 shell 语言和命令提示符。
它结合了 Python 和 Bash shell因此你可以在这个 shell 中直接运行 Python 命令(语句)。你甚至可以把 Python 命令和 shell 命令混合起来使用。
![][2]
听起来不错吧?如果你是一个 Python 程序员的话,你应该会更加兴奋。
### 在 Linux 上安装 Xonsh shell
有多种方式可以在 Linux 系统上安装 Xonsh shell。
你可以使用软件包管理器安装它(主要的 Linux 发行版的仓库中都有 Xonsh shell
在 Ubuntu 和 Debian 上,你可以尝试运行:
```
sudo apt install xonsh
```
因为它本质上是一个 Python 应用,所以你总是可以使用 Pip 来安装(如果你的系统已经安装了的话)。或者,你也可以使用 Conda 来安装 Xonsh。同时它还提供了 AppImage 格式和 Docker 镜像。
你可以自由选择你喜欢的安装方式。
### Xonsh shell 初体验
如果你不熟悉 Linux 的“多 shell”概念和终端的相关知识我推荐你阅读 [我写的一篇终端入门的文章][3]。这篇文章会帮助 Linux 新手弄清楚很多东西。
我在这里简单介绍一下。你的终端运行着一个默认的 shell通常是 bash shell。如果你在系统上安装了其他的 shell你可以 [轻松地切换这些 shell][4]。
要进入 Xonsh shell只需运行一条命令
```
xonsh
```
![][5]
它会建议你运行一个设置向导,然后创建一个 Xonsh shell 的自定义 `rc` 配置文件。这是可选的,你也可以晚些时候再做。
一旦你开始使用它,你就立刻会感觉到一些不同。
当你开始输入一条命令时Xonsh 会自动建议历史记录中的最后一条匹配命令。你可以按下右箭头键确认使用这条自动建议的命令。你也可以按下上、下箭头键来选择历史记录中的其他匹配命令。
![Xonsh shell automatically suggests last matching command from the history as you type][6]
不仅如此,它还支持交互式的 Tab 补全。当你开始输入命令,并按下 `tab` 键,它会显示一个类似于下拉式的交互式菜单。你可以在这个菜单中选择可用的命令。
![Tab completion in Xonsh shell][7]
你可以混合使用 Python 和 bash 命令,并且直接在 shell 中运行它们。
如果你对 [终端定制][8] 感兴趣,你可以花点时间和精力,根据自己的喜好来定制 Tab 补全、按键绑定和颜色样式。
它同时拥有一个叫做 [Xontrib][9] 的用户自定义插件系统,你可以使用这些插件来扩展 Xonsh shell 的功能。
如果你是一个终端爱好者,并渴望学习更多终端知识,你可以浏览它的 [丰富的文档系统][10]。
### 最后
大多数用户坚持使用默认的 Bash shell这很正常。有一些开发者和系统管理员会选择使用 Zsh因为它有很多附加特性。而 Xonsh 完全聚焦在 Python 上,对于 Python 使用者来说它或许具有吸引力。对于其余的人来说Bash 已经足够好了。
你使用过 Xonsh 或者其他的 shell 吗?你用它来代替 Bash 的原因是什么呢?欢迎在评论区留言。
--------------------------------------------------------------------------------
via: https://itsfoss.com/xonsh-shell/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[lkxed](https://github.com/lkxed)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lujun9972
[1]: https://xon.sh/
[2]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/03/xonsh-shell-combines-python-bash.png?resize=800%2C470&ssl=1
[3]: https://itsfoss.com/basic-terminal-tips-ubuntu/
[4]: https://linuxhandbook.com/change-shell-linux/
[5]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/03/xonsh-shell.png?resize=800%2C451&ssl=1
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/03/auto-suggestions-from-history-in-xonsh-shell.png?resize=800%2C258&ssl=1
[7]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/03/tab-completion-xonsh-shell.png?resize=800%2C354&ssl=1
[8]: https://itsfoss.com/customize-linux-terminal/
[9]: https://github.com/topics/xontrib
[10]: https://xon.sh/tutorial.html