别再死守 PowerShell 5.1 了:为什么每个开发者都该换上 pwsh (PowerShell 7)
如果你还在 Windows 的文件资源管理器地址栏输入 powershell,或者在蓝色的窗口里敲代码,那你可能正在错过 Windows 平台上最强大的生产力工具之一。
今天,我们要聊聊为什么你应该立即安装 pwsh (PowerShell 7+),以及它如何终结那些让你抓狂的开发小麻烦。
1. 告别“乱码噩梦”:原生 UTF-8 支持
做开发的同学一定被 UTF-8 BOM 坑过。旧版 PowerShell (5.1) 在处理文件编码时有着极其固执的 Windows 遗留倾向,经常导致你在 Linux 或 macOS 上打开脚本时全是乱码。
- pwsh 的做法: 默认全面采用 无 BOM 的 UTF-8。
- 结果: 你的脚本、日志和配置在不同平台之间无缝流转,再也不用手动去改编码格式了。
2. 速度!速度!还是速度!
PowerShell 5.1 基于古老的 .NET Framework,而 pwsh 基于现代化的 .NET 6/8+。
这意味着无论是启动速度、内存占用,还是处理大型 JSON 数据的解析效率,pwsh 都有了质的飞跃。当你需要遍历数万个文件或者处理复杂的 API 返回值时,你会明显感觉到那种“丝滑”。
3. 语法糖:写脚本像写 Python 一样爽
pwsh 引入了许多现代编程语言的特性,让你的脚本不再臃肿:
-
三元运算符:
$result = $condition ? "Yes" : "No"(再也不用写冗长的 if-else 了) -
空合并运算:
$config = $userConfig ?? $defaultConfig(一行代码搞定默认值) -
并行处理 (Parallelism):
ForEach-Object -Parallel { ... }
想象一下:你需要压缩 100 个图片。旧版只能一个一个来,pwsh 可以同时调用你 CPU 的所有核心一起跑。
4. 真正的跨平台协作
现在的开发环境往往是混合的:本地 Windows,服务器 Linux,CI/CD 环境可能是 Docker。
- pwsh 是跨平台的。你在 Windows 上写的脚本,几乎可以直接原封不动地跑在 Ubuntu 服务器或 GitHub Actions 上。
- 统一的工具链意味着更低的学习成本和更少的环境报错。
5. 颜值与生产力的双重提升
当你安装了 pwsh,再配合 Windows Terminal 和 Oh My Posh,你的终端可以变成这样:
这种极客感不仅是为了好看,通过图标提示、Git 状态显示和语法高亮,你能一眼看出当前的开发分支和环境状态,效率提升不止一点点。
如何开始?(一分钟上手)
不要犹豫,直接在你的当前终端输入以下命令(通过 Winget 安装,这是最推荐的方式):
winget install --id Microsoft.Powershell --source winget
安装完成后,尝试在运行对话框(Win + R)输入 pwsh。当你看到那个深黑色背景的窗口时,欢迎来到现代开发世界。
结语
作为开发者,我们的工具箱应该保持更新。PowerShell 5.1 已经完成了它的历史使命,而 pwsh 才是属于 2020s 年代的命令行利器。
别再犹豫了,现在就去装上 pwsh,你会回来感谢我的。