Переменные скрипта Azure CLI, выдающие ошибки

#azure #azure-cli

#azure #azure-cli

Вопрос:

Я пытаюсь запустить пример сценария, найденный здесь: https://learn.microsoft.com/en-au/azure/service-fabric/service-fabric-quickstart-containers-linux#create-a-service-fabric-cluster

 #!/bin/bash

# Variables
ResourceGroupName='containertestcluster' 
ClusterName='containertestcluster' 
Location='eastus' 
Password='q6D7nNlk@6' 
Subject='containertestcluster.eastus.cloudapp.azure.com' 
VaultName='containertestvault' 
VmPassword='Mypa$$word!321'
VmUserName='sfadminuser'

# Login to Azure and set the subscription
az login

az account set --subscription <mySubscriptionID>

# Create resource group
az group create --name $ResourceGroupName --location $Location 

# Create secure five node Linux cluster. Creates a key vault in a resource group
# and creates a certficate in the key vault. The certificate's subject name must match 
# the domain that you use to access the Service Fabric cluster.  The certificate is downloaded locally.
az sf cluster create --resource-group $ResourceGroupName --location $Location --certificate-output-folder . --certificate-password $Password --certificate-subject-name $Subject --cluster-name $ClusterName --cluster-size 5 --os UbuntuServer1604 --vault-name $VaultName --vault-resource-group $ResourceGroupName --vm-password $VmPassword --vm-user-name $VmUserName
  

Из командной строки или PowerShell я запускаю «az login» и login, затем я копирую и вставляю этот скрипт в консоль, но получаю ошибки, когда дело доходит до переменных.

Комментарии:

1. Вам необходимо предоставить более подробную информацию о полученной ошибке.

2. он выполняет каждую строку построчно и выдает ошибку для ResourceGroupName и каждой переменной: термин «ResourceGroupName=containertestcluster» не распознается как имя командлета, функции, файла сценария или рабочей программы. Проверьте правильность написания имени или, если был указан путь, убедитесь, что путь указан правильно, и повторите попытку.

3. На какой ОС вы запускаете скрипт? Windows?

4. Да, Windows 10 в командной строке или Powershell.

Ответ №1:

Я вижу, что вы используете сценарий оболочки, он более подходит для запуска в Linux. Для Windows больше подходит сценарий PowerShell. И в Windows переменные должны быть установлены следующим образом:

 $varName = 'xxxx'
  

Итак, вам нужно изменить все переменные, как указано выше. И я предлагаю вам изменить сценарий на сценарий PowerShell.

Комментарии:

1. Спасибо, префикс переменных с помощью $ исправил это.