微软发布PowerShell 7.0,兼容性大升级,全平台可用,开发人员:自7以后才是真·PowerShell
鱼羊 发自 凹非寺
量子位 报道 | 公众号 QbitAI
那个模糊了脚本和正经程序的边界,让一切皆有可能的PowerShell,7.0正式版发布啦。
新的语法糖,更好的兼容性,最重要的,是从.NET Core 2.x完全迁移到了3.1。
背后生态的升级,也意味着PowerShell 7比起它的老版本们,更具向后兼容性。
PowerShell的开发人员甚至表示:
PowerShell 7标志着Windows PowerShell最大化向后兼容的完成。我们认为PowerShell 7及其以后的版本才是真正的PowerShell。
和六代目一样,PowerShell 7全平台可用,无论你是Linux的忠实拥趸还是Mac爱好者,都可以像Windows用户一样,体验微软开源的风味。
话不多说,一起来看看PowerShell 7带来了什么样的新功能。
兼容性大升级
大版本更新,带来了新的cmdlet和API,一批bug也得到了集中修复。
而最令人期待的,当然还是新功能:
- 用ForEach-Object -Parallel进行管道并行化
- 新的运算符:
- 三元运算符:a ? b : c
- 管道链运算符:|| 和 &&
- 空分配和合并运算符:?? 和 ??=
- 简化的动态错误视图和Get-Error命令行工具,可更轻松地调查错误
- 兼容性层,使用户能够在隐式Windows PowerShell会话中导入模块
- 自动新版本通知
- 直接从PowerShell 7调用DSC资源的能力(实验性)
更重要的一点是,从PowerShell 6.x版本升级到7.0版本,意味着.NET Core从2.x升级到了3.1。
.NET Core 3.1是2019年12月更新的.NET最新版本,也是最具向后兼容性的版本。这也就使得Windows PowerShell模块的向后兼容性大大提高。包括Out-GridView和Show-Command这样需要GUI功能的模块,以及Windows附带的许多角色管理模块。
并且,PowerShell 7的操作系统支持列表相当可观,包括Windows7、8.1和10(在x64上),几乎所有的Windows Server版本,macOS和一众Linux发行版。
完整列表如下:
Windows 8.1, and 10
Windows Server 2012, 2012 R2, 2016, and 2019
macOS 10.13+
Red Hat Enterprise Linux (RHEL) / CentOS 7
Fedora 30+
Debian 9
Ubuntu LTS 16.04+
Alpine Linux 3.8+
以及Debian和Ubuntu的ARM32、ARM64版本,以及ARM64 Alpine Linux。
什么是PowerShell
如果你还不太了解PowerShell,那么且听我安利一发。
PowerShell是微软开发的任务自动化和配置管理工具。不同于普通的Shell脚本语言,PowerShell背靠.NET这棵大树,能直接调用.NET Framework平台强大的功能。
如果跟知名的Unix Shell——Bash做个比较,Bash可以说是简单粗暴型选手,交互全靠字符串,胜在语法精简,速度很快,但也容易让写脚本的人抓狂。
△bash,图源:TechTarget
而PowerShell作为面向对象的脚本语言,具有一致的语法结构,写起脚本更为清晰。
△powershell,图源:TechTarget
传送门
GitHub地址:https://github.com/PowerShell/PowerShell
更新细则:https://docs.microsoft.com/zh-cn/powershell/scripting/whats-new/what-s-new-in-powershell-70?view=powershell-7
— 完 —
- 从骁龙8至尊版,我看到了AI手机的未来 | 智在终端2024-12-17
- o1被曝“心机深”:逃避监督还会撒谎,骗人能力一骑绝尘2024-12-09
- 低成本机器人“皮肤”登上Nature子刊:实现三维力的自解耦,来自法国国家科学研究中心&香港大学2024-11-23
- OpenAI重夺竞技场第一,但这波靠的是4o2024-11-21