xonsh/xonsh

GitHub: xonsh/xonsh

一款基于 Python 的跨平台 shell,将 Python 语法与命令行操作合二为一,让终端交互更加强大灵活。

Stars: 9265 | Forks: 708

# xonsh .. raw:: html ``` Xonsh shell icon. ``` **Xonsh**(发音类似 "consh")是一个现代化的、功能齐全的跨平台 Python-based shell。该语言是 Python 3 的超集,无缝集成了 shell 功能和命令。它适用于所有主要系统,包括 Linux、OSX 和 Windows。Xonsh 旨在供专家和新手日常使用。 .. raw:: html ```
``` .. list-table:: :widths: 1 1 * - **Xonsh 是 Shell** - **Xonsh 是 Python** * - .. code-block:: shell cd $HOME id $(whoami) > ~/id.txt cat /etc/passwd | grep root $PROMPT = '@ ' - .. code-block:: python 2 + 2 var = "hello".upper() @.imp.json.loads('{"a":1}') [i for i in range(0,10)] * - **Xonsh 是 Python 中的 Shell** - **Xonsh 是 Shell 中的 Python** * - .. code-block:: python len($(curl -L https://xon.sh)) $PATH.append('/tmp') p'/etc/passwd'.read_text().find('usr') $(@json podman ps --format json)['ID'] - .. code-block:: python name = 'snail' echo @(name) > /tmp/@(name) with p'/tmp/dir'.mkdir().cd(): touch @(input('File: ')) aliases['e'] = 'echo @(2+2)' aliases['a'] = lambda args: print(args) * - **Xonsh 无处不在** - **Xonsh 是一个生态系统** * - .. code-block:: python $PATH ['/bin', '/sbin'] # Linux ['/homebrew/bin'] # macOS ['/nix/store/0-python/bin'] # Nix ['/mnt/c/Windows/System32'] # WSL [r'c:\Windows\System32'] # Windows $PATH = ['/my/own/path'] - .. code-block:: python xontrib load term_integration \ prompt_starship \ powerline \ dracula \ chatgpt \ django \ jupyter \ 1password \ github_copilot \ history_encrypt * - **Xonsh 是一个 Meta-Shell** - **Xonsh 是用户可扩展的** * - .. code-block:: python xontrib load sh \ fish_completer def nudf(cmd): return @.imp.pandas.DataFrame( @.imp.json.loads( $(nu -c @(cmd+'| to json')))) nudf!(ls -la) aliases['ai'] = 'ollama run llama3' ai! how to remove images in podman - .. code-block:: python @events.on_ptk_create def custom_keybindings(bindings, **kw): @bindings.add(Keys.ControlI) def say_whoami(event): echo $(whoami) @events.on_postcommand def _prompt_err_cmd(cmd, rtn, out, ts): if rtn != 0: $XONSH_PROMPT_NEXT_CMD = cmd.rstrip() .. class:: center ``` .. image:: https://img.shields.io/badge/Zulip%20Community-xonsh-green :target: https://xonsh.zulipchat.com/ :alt: Join to xonsh.zulipchat.com .. image:: https://repology.org/badge/tiny-repos/xonsh.svg :target: https://repology.org/project/xonsh/versions :alt: repology.org .. image:: https://img.shields.io/badge/Docker%20Hub-xonsh-blue :target: https://hub.docker.com/u/xonsh :alt: hub.docker.com .. image:: https://img.shields.io/badge/AppImage-xonsh-lightblue :target: https://xon.sh/appimage.html :alt: AppImage .. image:: https://github.com/xonsh/xonsh/actions/workflows/test.yml/badge.svg :target: https://github.com/xonsh/xonsh/actions/workflows/test.yml :alt: GitHub Actions .. image:: https://codecov.io/gh/xonsh/xonsh/branch/master/graphs/badge.svg?branch=main :target: https://codecov.io/github/xonsh/xonsh?branch=main :alt: codecov.io ``` ## 入门指南 - `安装 `_ - 隔离环境、软件包、容器或便携式 AppImage。 - `教程 `_ - xonsh 分步介绍。 - `速查表 `_ - 一些初学者可能会发现这是一个很有帮助的起点。 ## 扩展 Xonsh 拥有一个扩展/插件系统。我们将这些扩展称为 ``xontribs``。 - `GitHub 上的 Xontribs `_ - `很棒的 xontribs `_ - `核心 xontribs `_ - `从模板逐步创建 xontrib `_ ## 使用或兼容 xonsh 的项目 - `conda `_ 和 `mamba `_:现代化的软件包管理器。 - `Starship `_:跨 shell 提示符。 - `zoxide `_:更智能的 cd 命令。 - `gitsome `_:具有 GitHub 集成的超强 Git/shell 自动补全工具。 - `xxh `_:通过 SSH 在任何地方使用 xonsh。 - `kash `_:知识代理 shell。 - `Snakemake `_:用于创建可复现和可扩展数据分析的工作流管理系统。 - `any-nix-shell `_:Nix 软件包管理器的 ``nix run`` 和 ``nix-shell`` 环境的 xonsh 支持。 - `lix `_:Nix 软件包管理器的现代化、美味实现。 - `x-cmd `_:x-cmd 是一个遵循 Unix 哲学的庞大而有趣的工具集合。 - `rever `_:跨平台软件发布工具。 - `Regro autotick bot `_:Regro Conda-Forge 自动标记机器人。 通过 `xontrib-jupyter `_ 实现基于 Jupyter 的交互式笔记本: - `Jupyter 和 JupyterLab `_:交互式笔记本平台。 - `Euporie `_:基于终端的交互式计算环境。 - `Jupytext `_:在进行 Jupyter 笔记本版本控制时提供清晰且有意义的差异对比。 编译、打包或加速 xonsh: - `AppImage `_ 是一种用于分发 Linux 应用程序的格式,可用于 `创建独立的 xonsh 软件包 `_。 - `Nuitka `_ 是一个优化型 Python 编译器,可以 `构建原生 xonsh 二进制文件 `_。 - `RustPython `_ 是一个用 Rust 编写的 Python 解释器,可以 `在 Rust 之上运行 xonsh `_。 ## 致谢 - 感谢 `Zulip `_ 对 `xonsh 社区 `_ 的支持! - 感谢 `HELLOTUX `_ 分发 `xonsh T 恤、背包等商品 `_! - 感谢 ADS.FUND 对 `xonsh token `_ 的支持!
标签:AI友好, Awesome, ChatGPT, CLI, Copilot, DevTools, Jupyter, Promptflow, Python, Python 3, Python-Shell, Shell, WiFi技术, xonsh, 交互式 Shell, 别名, 命令行接口, 威胁情报, 开发者工具, 效率工具, 无后门, 混合编程, 环境变量, 管道, 系统管理, 系统脚本, 终端, 终端模拟器, 脚本语言, 自动化运维, 请求拦截, 逆向工具