我为什么喜欢 Xonsh

有没有想过用 Python 做你的 shell?

-- Moshe Zadka

编译自 |

https://opensource.com/article/18/9/xonsh-bash-alternative

作者 | Moshe Zadka

译者 | geekpi 共计翻译:789.5篇 贡献时间:1788 天

有没有想过用 Python 做你的 shell?

Shell 语言对交互式使用很有用。但是在使用它们作为编程语言时这种优化就需要权衡,有时在编写 shell 脚本时会感觉到这点。

如果你的 shell 也能理解一种更可伸缩的语言会怎样?比如说,Python?

进入Xonsh

[1]

安装 Xonsh 就像创建虚拟环境一样简单,运行 ,然后运行 。

首先,你可能奇怪为什么你的 Python shell 有一个奇怪的提示:

好的,计算器!

我们还可以调用其他函数:

然而,我们仍然可以像常规 shell 一样使用它:

我们甚至可以混搭!

Xonsh 支持使用Prompt Toolkit

[2]

补全 shell 命令和 Python 表达式。补全有可视化提示,会显示可能的补全并有下拉列表。

它还支持访问环境变量。它使用简单但强大的启发式方法将 Python 类型应用于环境变量。默认值为 “string”,但是,例如,路径变量是自动列表。

Xonsh 接受 shell 形式或 Python 形式的布尔快捷运算符:

这意味着 Python 关键字是被解释了。如果我们想要打印著名的《苏斯博士》书的标题,我们需要引用关键词。

如果我们不这样做,我们会感到惊讶:

虚拟环境可能会有点棘手。一般的虚拟环境(取决于它们类似 Bash 的语法)无法工作。但是,Xonsh 自带了一个名为 的虚拟环境管理系统。

可以创建、激活和停用 中的环境。如果你用过 ,这就是环境变量所在的地方。

请注意,当前激活的环境不会影响 。它无法从激活的环境中导入任何内容。

第一行启用 :它是一个 ,是 Xonsh 的一个第三方扩展。 管理器可以列出所有可能的 及其当前状态(已安装、已加载或未加载)。

可以编写一个 并上传到 以使其可用。但是,最好将它添加到 索引中,以便 Xonsh 提前知道它。比如,这能让配置向导建议它。

如果你曾经想过,“Python 可以成为我的 shell 吗?”,然后你只要 一下就能知道。

via:https://opensource.com/article/18/9/xonsh-bash-alternative

作者:Moshe Zadka

[4]

选题:lujun9972译者:geekpi校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180919B0YCTY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券