微軟開發人員最近在一篇部落格文章中宣布了PowerShell 7的最終版本發布。該版本現已支援 Windows、macOS 和 Linux 系統。最新版本包含與 .NET Core 和新載體相關的新功能。
PowerShell 針對自動化命令列操作進行了最佳化,並提供了用於處理 JSON、CSV 和 XML 等格式的結構化資料的內建工具,也支援 REST API 和物件模型。
除了命令列介面外,還提供了物件導向的腳本語言以及一套用於管理模組和腳本的實用程式。
從PowerShell 6分支開始,已使用.NET Core平台開發了該項目。 默認情況下,PowerShell隨操作系統和程序版本的說明一起傳輸遙測(要禁用遙測,必須在啟動前將環境變量POWERSHELL_TELEMETRY_OPTOUT設置為1)。
PowerShell 7的新功能是什麼?
總而言之,PowerShell 7 整合了以下變更:從 .Net Core 版本 2.x 遷移到新版本 3.1,以及引入三元運算子「a? b: c «」、「賦值和零合併 «?」和「?? = «」。
PowerShell 7 新版本中引入的.Net Core 2.xa 3.1 更新提高了與現有Windows PowerShell 模組的兼容性。
“如果過去由於跨模塊兼容性問題而無法使用PowerShell Core 6.x,那麼這可能是您第一次能夠利用我們已經提供的一些出色功能。 從PowerShell Core項目的開始! «,微軟強調。
他補充說:
»PowerShell Core 6.x至7.0通道也標誌著我們的.NET Core 2.x至3.1通道。
.NET Core 3.1 重新引入了大量來自 .NET Framework 的 API(特別是在 Windows 平台上),從而顯著提升了與現有 Windows PowerShell 模組的兼容性。這包括許多需要 GUI 功能的 Windows 模組,例如 Out-GridView 和 Show-Command,以及許多 Windows 自帶的角色管理模組。
完整支援的作業系統清單是Windows 64、7和8.1,Windows Server 10 R2008、2、2012 R2012、2和2016,macOS 2019 +,Red Hat Enterprise Linux(RHEL)/ CentOS 10.13+, Fedora 7 +,Debian 29 +,Ubuntu 9 +,openSUSE 16.04+和Alpine Linux 15+。
Debian 和 Ubuntu 的 ARM32 和 ARM64 版本以及 ARM64 Alpine Linux 也都支援。微軟表示,雖然 Arch 和 Kali Linux 未獲得官方支持,但社群已為其開發了相應的軟體包。 PowerShell 7 可從 GitHub 下載,並提供了適用於 Windows、macOS 和 Linux 的安裝文件。
微軟已經開始著手準備 PowerShell 7.1,其首個預覽版即將發布。在此之前,讓我們先回顧一下 PowerShell 7 的特色新功能:
- .NET Core 3.1(LTS)
- Windows兼容性信封
- 新版本通知
- 新的錯誤視圖和Get-Error cmdlet
- 管道鏈運算符(&&和|||)
- 三元運算符(a?b:c)
- 空賦值和合併運算符(???和?? =)
- invoke-DscResource跨平台(實驗性)
- Windows中返回out-GridView,-ShowWindowWindow和其他GUI cmdlet
最後,如果您想了解更多信息,可以查看以下連結中的詳細信息。
如何在Linux上安裝PowerShell 7?
如果您有興趣在自己的系統上安裝這個新版本的 PowerShell,您可以從以下連結取得為不同 Linux 發行版準備的軟體包。
雖然通常可以使用 Snap 軟體包安裝應用程序,但唯一的要求是您的系統支援安裝此類軟體包並已安裝該服務。
要進行安裝,只需打開終端機並執行以下命令:
snap install powershell --classic
最後,可以選擇專門為每個發行版建立的軟體包。
可以通過手勢來安裝,也可以通過終端使用dpkg(對於deb軟件包或rpm或dnf(對於rpm軟件包))進行安裝。
例如,對於deb軟件包:
sudo dpkg -i powershell-7.0.0-1*.deb
對於一般發行版中的RPM,具有:
sudo rpm -i powershell-7.0.0-1*.rpm
對於Fedora或RHEL:
sudo dnf -i powershell-7.0.0-1*.rpm