微軟發佈PowerShell 7.0,開發人員:自7以後才是真·PowerShell

魚羊 發自 凹非寺
量子位 報道 | 公眾號 QbitAI

那個模糊了腳本和正經程序的邊界,讓一切皆有可能的PowerShell,7.0正式版發佈啦。

微軟發佈PowerShell 7.0,開發人員:自7以後才是真·PowerShell

新的語法糖,更好的兼容性,最重要的,是從.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。

微軟發佈PowerShell 7.0,開發人員:自7以後才是真·PowerShell

.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可以說是簡單粗暴型選手,交互全靠字符串,勝在語法精簡,速度很快,但也容易讓寫腳本的人抓狂。

微軟發佈PowerShell 7.0,開發人員:自7以後才是真·PowerShell

bash,圖源:TechTarget

而PowerShell作為面向對象的腳本語言,具有一致的語法結構,寫起腳本更為清晰。

微軟發佈PowerShell 7.0,開發人員:自7以後才是真·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

— 完 —

量子位 QbitAI · 頭條號簽約作者

關注我們,第一時間獲知前沿科技動態


分享到:


相關文章: