真 Bash 语义
rubash 引擎跑通 GNU Bash 官方测试 86/86。兼容性不是嘴上说的,试是上游替我们考的。
Windows 原生 Shell
为了跑一个 grep 而启动一台 Linux 虚拟机,等于买下一整个牧场只为喝一杯牛奶。niubash 只要一个 niu.exe。
在 PowerShell 中执行
irm https://dl.caomengxuan666.com/install.ps1 | iex脚本会自己判断架构,接好 PATH,再顺手建一个 Windows Terminal 配置文件。
不需要管理员权限,irm | iex 也不受执行策略影响。只有把脚本下载下来运行才会被拦,那时用:powershell -ExecutionPolicy Bypass -File .\install.ps1
每个 Windows shell 都在让你放弃点什么。CMD 停在 1987 年。PowerShell 不是 Bash,你的 for 循环和引号直觉一到那儿就死。WSL 是你要为了打印一个目录而收养的一整个发行版。Git Bash 模拟 Unix,然后靠猜来决定你的路径。
niubash 不做这道选择题。Windows 的进程、环境、路径和工具原样留着,Bash 和 Unix 命令直接叠上去。
ls 和 grep 是真进程,不是 shell 内部的脚本垫片。
rubash 引擎跑通 GNU Bash 官方测试 86/86。兼容性不是嘴上说的,试是上游替我们考的。
C:\... 和 C:/... 直接能用,/c/... 和 /mnt/c/... 也认,输出一律原生。不猜。
ls、cat、grep、find 都来自 winuxcmd,是通过 PATH 注入的真二进制,不是脚本垫片。不用另外装东西。
git.exe、node.exe、python.exe、cargo.exe 原样调用。你的 PATH 就是你的 PATH。
暂存、修改、未跟踪、领先、落后、stash、冲突,一眼看穿仓库状态。语法高亮和自动建议也在。
git、docker、kubectl、npm、zoxide、direnv、fzf、thefuck。宿主访问写在 manifest 里,看得见。
shell 定义、bash 补全自动导入、cmd -h 描述嗅探,加三级缓存。
交互 REPL 是一种,niu -c 是另一种:不加载 rc,不加载插件,行为只由命令本身决定。
niubash 不给你造一个隔离的 Linux 世界,也不靠路径翻译去猜你的参数。
| 能力 | niubash | WSL | Git Bash | Cygwin | PowerShell |
|---|---|---|---|---|---|
| Bash 语法 | 完整 | 完整 | 完整 | 大部分 | 没有 |
| Windows 原生路径 | 原生 | /mnt/c | 转换 | 转换 | 原生 |
| 直接调用 Windows 程序 | 直接 | 桥接 | 有怪癖 | 隔一层 | 直接 |
| 无虚拟机、无兼容层 | 是 | 否 | 否 | 否 | 是 |
| 随包 Unix 命令 | 有 | 有 | 有 | 有 | 没有 |
| Agent 命令稳定性 | 高 | 良好 | 路径风险 | 层级风险 | 引号风险 |
rubash 负责 Bash 执行语义,winuxcmd 提供 Unix 命令,reedline 负责交互体验。三者合起来就是 niubash。
Bash parser、executor、builtins 和脚本语义,GNU Bash 官方测试 86/86。
随包 coreutils:ls、cat、grep、find、test、printf 都是真二进制,通过 PATH 命令链接注入。
补全、历史、vi/emacs 模式、prompt 渲染、自动建议和语法高亮。
每个 AI coding agent 都说 Bash,因为模型就是在 Bash 上训练的。可在 Windows 上,它们大多只能凑合用 PowerShell,那个出了名会吃掉参数的 shell。同样五个参数喂进去,PowerShell 直接抛解析错误,niu -c 一个字节不差,全部送达。
它不打 banner,stdout 和 stderr 干净,退出码原样传回。不加载 rc,不加载插件,行为只由命令本身决定。

脚本生成的图像,直接渲染在终端里。


WSL 给你一整个 Linux,niubash 只给你 Bash。为了一杯牛奶买下整个牧场,牛当然不错,就是物流有点糟。真需要 Linux 内核特性的话,比如 systemd、原生 Docker、某个特定内核模块,继续用 WSL 就好,两者不冲突。
不需要。安装包会接好 PATH,再建一个 Windows Terminal 配置文件,普通用户权限就够。想要便携版就下 .zip,第一次启动时自激活 Unix 命令。
第一次启动时,旧的 ~/.winuxshrc 会被自动迁移一次到 ~/.niubashrc,NIU_ 前缀自动改写,原文件原样留着。整个过程不吭声,重复启动也不会再动。~/.winshrc 仍然作为兼容回退,只在 ~/.niubashrc 不存在时才读。
支持。v1.0.1 起 x64 和 ARM64 的安装包、便携版都发。
niu --self-update 更新 shell,wpm update winuxcmd 更新命令层,插件包各更各的。三层分开演进,互不牵连。
为了跑一个 grep 而启动一台 Linux 虚拟机,等于买下一整个牧场只为喝一杯牛奶。niubash 只要一个 niu.exe。