💻 编程工具 · 技术评测
一、fish:最懂新手的"聪明壳"fish 胜在开箱即用,nu 赢在数据结构创新,elvish 停在实验阶段,pwsh 独霸 Windows 运维——没有全能王者,只有场景适配。
fish(Friendly Interactive Shell)诞生于 2005 年,口号是" finally, a command line shell for the 90s"——致敬那个用户至上的年代。它最大的亮点是不需要任何配置,装好就能用:语法高亮和智能补全默认开启,而且会根据你的历史记录主动推荐命令,像浏览器地址栏一样自然。它的脚本语法极其简洁,去掉了 bash 里那些令人头秃的"esac"和繁复引号,对新手和脚本编写者都相当友好。
不过,fish 的兼容性一直是老用户吐槽的点。由于它不完全兼容 POSIX 标准,许多为 bash 或 zsh 写的脚本直接搬到 fish 下会报错。此外,fish 的插件生态远不如 zsh 丰富,主题可定制性也偏弱。如果你追求"装了就用、不用折腾"的体验,fish 是首选;但如果你是深度定制党,可能会觉得它有些"太贴心"而缺少自由度。
二、nu(Nushell):重新定义 Shell 的数据流哲学Nushell 是这四者中最激进的一个——它从根本上质疑了"Shell 就是处理文本流"的传统假设。nu 用 Rust 重写,核心设计理念是:一切皆是结构化数据。ls 输出不再是杂乱的文本,而是表格;管道传递的不是字符串,而是记录、列表和对象。这意味着你不需要再依赖 awk、grep、sed 这些外部工具来解析输出——nu 自带过滤、排序、格式化能力。
这一理念在 2025 到 2026 年间吸引了大量关注,GitHub 星标增速在开源 Shell 项目中名列前茅。但 nu 的缺点也同样明显:生态薄弱,绝大多数传统 Shell 脚本无法直接在 nu 中运行;学习曲线对习惯 bash 的老手并不友好;部分高级功能仍在快速迭代中,API 不够稳定。它更像是一个"数据操作平台"而非传统意义上的 Shell,适合愿意拥抱新范式的早期采用者。
三、elvish:有想法但走得太慢Elvish 的设计同样富有野心:模块化架构、语法安全、支持命令补全预测,甚至内置了类似函数式编程的列表操作。它的官方定位为"更安全的 Shell",试图纠正 bash 中那些容易导致事故的陷阱。然而,现实是残酷的——elvish 的开发节奏明显放缓,社区规模微小,工具链支持几乎为零,主流发行版默认不预装。
多位技术评论者在 2025 年的评测中指出,elvish 目前更多停留在实验阶段,难以支撑生产环境中的稳定需求。如果你在个人开发机上玩玩新技术没问题,但别指望它能像 fish 或 pwsh 那样成为日常主力。
四、pwsh(PowerShell 7.x):Windows 生态的绝对统治者PowerShell 从 .NET 时代走来,2022 年正式跨平台更名为 pwsh,但它在 Windows 运维领域的统治地位从未动摇。微软发布的 PowerShell 7.5(2025 年 2 月)和正在预览的 7.6(基于 .NET 10)带来了超过 100 项改进,包括 数组 += 操作性能大幅提升、新增 ConvertTo-CliXml 内存序列化命令、Azure Container Registry 模块支持等。pwsh 最大的护城河是它与 Windows 生态的深度绑定——Active Directory、WMI、CIM、组策略,这些功能在 Unix-like Shell 中根本不存在。
代价是交互体验:pwsh 的启动速度、终端响应、快捷键习惯都偏向企业级而非极客风格,在 Linux/macOS 上与 fish 或 zsh 相比显得笨重。它不适合追求流畅命令行体验的用户,但在企业 IT 运维、Azure 云管理、自动化编排方面,pwsh 几乎无可替代。
综合 ZOL 科技评测、Microsoft Learn、fishshell.com 报道 | 2026-08-31