Xonsh:把 Python 和 Shell 融为一体的命令行体验

Xonsh(读作 “consh”)是一个基于 Python 的全功能跨平台 shell,在 GitHub 上收获了 9,508 颗星。

正文顶部截图

Xonsh 的语言是 Python 3 的超集,同时无缝集成了 shell 命令。你可以在同一个终端里混用 Python 语法和 shell 指令,不需要在两个环境之间切换。支持 Linux、macOS、Windows、BSD、Jupyter、Android 和 Raspberry Pi。

Python 与 Shell 的统一

Xonsh 的核心思路直接:每一行代码既可以是 Python,也可以是 shell。以下面几行为例:

len($(curl -L https://xon.sh))     # Python 调用 shell
$PATH.append('/tmp')                # Python 操作 PATH
echo @(name) > /tmp/@(name)        # shell 引用 Python 变量

写脚本时常用的条件判断、列表推导、函数定义,在 Xonsh 里直接用 Python 写就行,不需要学另一套语法。

跨平台适配

Xonsh 能自动识别所在平台的路径风格和环境变量。无论你在 Linux 的 /bin、macOS 的 Homebrew、Windows 的 System32,还是 WSL、Termux、AppImage、Flatpak 下使用,Xonsh 都能保持一致的行为。

README区域截图

扩展生态

Xonsh 通过 xontrib 机制支持功能扩展。社区维护了丰富的 xontrib 列表,涵盖终端集成、Starship 提示符、Powerline 风格、ChatGPT、Django、Jupyter、1Password、GitHub Copilot、历史记录加密等场景。用户按需加载,也可以基于模板创建自己的扩展。

上手方式

Xonsh 支持 pip、conda、系统包管理器、Docker 和 AppImage 等多种安装方式。官方提供了安装教程和入门指南。对已经熟悉 Python 的开发者来说,学习成本几乎为零。

该项目由社区志愿者维护,参与方式包括提交 Issue、创建 xontrib 扩展、改进文档和设计等。

式包括提交 Issue、创建 xontrib 扩展、改进文档和设计等。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐