xonsh/xonsh
GitHub: xonsh/xonsh
一款基于 Python 的跨平台 shell,将 Python 语法与命令行操作合二为一,让终端交互更加强大灵活。
Stars: 9265 | Forks: 708
# xonsh
.. raw:: html
```
```
**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 `_ 的支持!
```
**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 ``` ## 入门指南 - `安装
标签:AI友好, Awesome, ChatGPT, CLI, Copilot, DevTools, Jupyter, Promptflow, Python, Python 3, Python-Shell, Shell, WiFi技术, xonsh, 交互式 Shell, 别名, 命令行接口, 威胁情报, 开发者工具, 效率工具, 无后门, 混合编程, 环境变量, 管道, 系统管理, 系统脚本, 终端, 终端模拟器, 脚本语言, 自动化运维, 请求拦截, 逆向工具