About This Page
This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.
Bias Analysis
Bias Types:
⚠️
windows_first
⚠️
powershell_heavy
Summary:
The documentation demonstrates a mild Windows bias by referencing Windows-specific shells (PowerShell and cmd) before or alongside Linux/Bash, and by providing explicit guidance for Windows users in several places. While the main examples use Bash (which is cross-platform), there are multiple notes and code snippets specifically for PowerShell/cmd users, sometimes with more detail than for Linux users. There are no Linux tools or patterns missing, but the documentation tends to mention Windows environments and their requirements prominently.
Recommendations:
- Ensure that all examples and notes are equally detailed for both Bash (Linux/macOS) and PowerShell/cmd (Windows).
- Where platform-specific syntax is required, present Bash (Linux/macOS) and PowerShell/cmd (Windows) examples side-by-side, rather than referencing Windows shells as an afterthought.
- Avoid phrasing that centers Windows as the default, such as 'If you're using PowerShell or cmd...'—instead, use neutral language like 'In Bash (Linux/macOS): ... In PowerShell (Windows): ...'.
- Explicitly state that Bash is available on Windows (via WSL or Git Bash) to encourage cross-platform parity.
- Consider adding a table or section summarizing syntax differences across platforms for common commands and parameter passing.
Create pull request
Flagged Code Snippets
If you're using the Azure CLI with the cmd or PowerShell, pass the array in the format: `exampleArray="['value1','value2']"`.
You can also get the contents of file to provide that content as an inline parameter. Preface the file name with **@**:
If you're using the Azure CLI with cmd or PowerShell, pass the object in the following format:
However, if you're using the Azure CLI with cmd or PowerShell, set the variable to a JSON string. Escape the quotation marks: `$params = '{ \"prefix\": {\"value\":\"start\"}, \"suffix\": {\"value\":\"end\"} }'`.
The evaluation of parameters follows a sequential order, meaning that if a value is assigned multiple times, then only the last assigned value is used. To assign parameters properly, it's recommended that you provide your parameters file initially and then use the _KEY=VALUE_ syntax to selectively override specific parameters. If you're supplying a `.bicepparam` parameters file, you can only use this argument once.
### Bicep parameters files
Rather than passing parameters as inline values in your script, you might find it easier to use a [Bicep parameters file](#bicep-parameters-files) or a [JSON parameters file](#json-parameters-files) that contains the parameter values. The parameters file must be a local file since the Azure CLI doesn't support external parameters files. For more information about parameters files, see [Create a parameters file for Bicep deployment](./parameter-files.md).
You can use a Bicep parameters file to deploy a Bicep file with [Azure CLI](./install.md#azure-cli) version 2.53.0 or later and [Bicep CLI](./install.md#visual-studio-code-and-bicep-extension) version 0.22.X or later. With the `using` statement within the Bicep parameters file, there's no need to provide the `--template-file` switch when specifying a Bicep parameters file for the `--parameters` switch. Including the `--template-file` switch will prompt an, "Only a .bicep file is allowed with a .bicepparam file," error.
The following example shows a parameters file named _storage.bicepparam_. The file is in the same directory where the command runs: