指令碼環境

已完成

在此單元中,您將了解可用來管理 Azure 資源的命令列殼層。 我們將複習幾個概念,這有助於您依據需求選擇最適合的命令列殼層。

什麼是命令列殼層?

命令列殼層是以文字為基礎的程式,可指示作業系統執行動作。 Bash、PowerShell、Windows PowerShell 和 cmd.exe 都是殼層環境。 您的殼層環境不僅會決定您可以使用哪些工具,也會變更您的命令列體驗。

Bash

Bash 是一種命令列解譯器和殼層指令碼語言。 Bash 可在 Linux 和 macOS 上執行。 Bash 也可透過 Windows 子系統 Linux 版 (WSL),在 Azure Cloud Shell 中和 Windows 上使用。

PowerShell

PowerShell 是一個跨平台工作自動化解決方案,由命令列殼層、指令碼語言,以及組態管理架構所組成。 PowerShell 可在 Windows、Linux 和 macOS 上執行。 PowerShell 也可在 Azure Cloud Shell 中使用。

Azure Cloud Shell

Azure Cloud Shell 是一種託管殼層環境,可在容器中執行 Linux。 Cloud Shell 提供兩種命令列殼層:

  • 預先安裝 Azure CLI 的 Bash
  • 預先安裝 Azure PowerShell 和 Azure CLI 的 PowerShell

Cloud Shell 可在網頁瀏覽器中存取,並且與 Windows 終端機和 Visual Studio Code (VS Code) 整合。

支援的殼層環境

下表列出每個 Azure 命令列工具支援的殼層。 在此表格中:

  • Supported 圖示表示命令行工具是指定殼層中的 supported
  • Not supported 圖示表示命令行工具是指定殼層中的 not supported
殼層環境 Azure CLI Azure PowerShell Bicep Terraform
Bash Supported Not supported Supported Supported
PowerShell Supported Supported Supported Supported
Windows PowerShell Supported Supported Supported Supported
Azure Cloud Shell Supported Supported Supported Supported
cmd.exe Supported Not supported Supported Supported

Azure CLI 具有安裝程式,使其命令在所有的五個殼層環境中都可執行。

Azure PowerShell 是封裝為 PowerShell 模組的一組 Cmdlet,名為 Az。 這並不是可執行檔。 您必須使用 PowerShell 或 Windows PowerShell,在 Az PowerShell 模組中執行命令。

PowerShell 是使用 .NET Core 作為執行階段的獨立安裝,因此可以安裝在 Windows、Linux 和 macOS 上。 Windows PowerShell 是預先安裝於 Windows 作業系統的指令碼環境殼層。

您可以使用 PowerShell 或 Bash 管理您的 Azure 資源。 最佳做法是撰寫特定殼層的指令碼,因為 PowerShell 和 Bash 的語法元素有所差異。 例如,對於行接續字元,Bash 會使用反斜線 (\),PowerShell 則會使用倒引號 (`)。 殼層環境中的差異不會變更 Azure CLI 和 Azure PowerShell 的運作方式。 不過,其確實會變更您的命令列體驗。