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: