📖 Scenario: You are managing a small Azure environment. You want to automate the creation of multiple storage accounts with similar settings using a script. This will save time and reduce manual errors.
🎯 Goal: Create an Azure CLI script that uses variables and a loop to create three storage accounts with specific names and locations.
📋 What You'll Learn
Use a variable to store the base name for storage accounts
Use a variable to store the location for all storage accounts
Use a loop to create three storage accounts with names based on the base name and an index
Use the Azure CLI az storage account create command with the correct parameters
💡 Why This Matters
🌍 Real World
Automating repetitive cloud resource creation saves time and reduces mistakes in managing Azure environments.
💼 Career
Cloud engineers and DevOps professionals often write scripts like this to deploy and manage resources efficiently.
Progress0 / 4 steps
1
Set up base variables
Create two variables: baseName set to mystorage and location set to eastus.
Azure
Hint
Use simple variable assignment in bash style: variable=value.
2
Add a loop counter
Create a variable called count and set it to 3 to represent how many storage accounts to create.
Azure
Hint
Use the same variable assignment style as before.
3
Write the loop to create storage accounts
Write a for loop using i from 1 to $count. Inside the loop, use az storage account create with --name set to ${baseName}${i} and --location set to $location. Use --resource-group myResourceGroup and --sku Standard_LRS as fixed parameters.
Azure
Hint
Use $(seq 1 $count) to generate numbers from 1 to count.
4
Add a final echo statement
Add a line after the loop that echoes "Storage accounts created successfully." to confirm completion.
Azure
Hint
Use the echo command to print the message.
Practice
(1/5)
1. What is the main purpose of using variables in Azure scripting?
easy
A. To store values that can be reused throughout the script
B. To create loops that repeat commands
C. To delete resources automatically
D. To connect to the internet
Solution
Step 1: Understand what variables do
Variables hold information like names or numbers that you want to use again without typing them multiple times.
Step 2: Identify the correct purpose in scripting
Variables help scripts remember values so you can use them repeatedly and easily change them if needed.
Final Answer:
To store values that can be reused throughout the script -> Option A
Quick Check:
Variables = reusable values [OK]
Hint: Variables hold values to reuse in scripts [OK]
Common Mistakes:
Confusing variables with loops
Thinking variables delete resources
Believing variables connect to internet
2. Which of the following is the correct way to declare a variable named count with value 5 in an Azure CLI script?
easy
A. var count = 5
B. let count = 5
C. set count=5
D. count=5
Solution
Step 1: Recall Azure CLI variable syntax
In Azure CLI scripts (bash style), variables are assigned without keywords using name=value format.
Step 2: Match the correct syntax
count=5 uses count=5, which is the correct bash style assignment.
Final Answer:
count=5 -> Option D
Quick Check:
Azure CLI variable = name=value [OK]
Hint: Use name=value to assign variables in Azure CLI [OK]
Common Mistakes:
Using 'var' or 'let' which are not bash syntax
Using 'set' which is Windows CMD syntax
Adding spaces around '=' which breaks assignment
3. What will be the output of this Azure CLI script snippet?
for i in 1 2 3; do
echo $((i * 2))
done
medium
A. 2 4 6
B. 0 1 2
C. 1 2 3
D. Syntax error
Solution
Step 1: Understand the loop iterations
The loop runs with i values 1, then 2, then 3.
Step 2: Calculate the expression inside echo
Each iteration prints i multiplied by 2: 1*2=2, 2*2=4, 3*2=6.
Final Answer:
2 4 6 -> Option A
Quick Check:
Loop * 2 = 2 4 6 [OK]
Hint: Multiply loop variable inside $(( )) for math [OK]
Common Mistakes:
Confusing echo $i with echo $((i * 2))
Expecting space-separated output on one line
Thinking syntax error due to missing semicolons
4. Identify the error in this Azure CLI script snippet:
for i in 1 2 3 do
echo $i
done
medium
A. echo command is incorrect
B. Variable $i is not defined
C. Missing semicolon or newline after for statement
D. done keyword is missing
Solution
Step 1: Check for correct for loop syntax
In bash scripts, the for loop header must end with a semicolon or a newline before the do keyword.
Step 2: Identify the missing semicolon or newline
The snippet has no semicolon or newline after for i in 1 2 3, causing syntax error.
Final Answer:
Missing semicolon or newline after for statement -> Option C
Quick Check:
For loop header needs semicolon/newline before do [OK]
Hint: Add semicolon or newline before do in for loops [OK]
Common Mistakes:
Forgetting semicolon after for statement
Assuming $i is undefined
Thinking echo syntax is wrong
5. You want to create 3 Azure resource groups named rg1, rg2, and rg3 using a script with a loop and a variable prefix rg. Which script snippet correctly achieves this?
hard
A. prefix=rg
for i in 1 2 3; do
az group create --name $prefix + $i --location eastus
done
B. prefix=rg
for i in 1 2 3; do
az group create --name "$prefix$i" --location eastus
done
C. prefix=rg
for i in 1 2 3; do
az group create --name prefix$i --location eastus
done
D. for i in 1 2 3; do
az group create --name "rg" + i --location eastus
done
Solution
Step 1: Understand variable concatenation in bash
To combine a variable and a number, use double quotes and place variables side by side like "$prefix$i".
Step 2: Check each option for correct syntax
prefix=rg
for i in 1 2 3; do
az group create --name "$prefix$i" --location eastus
done correctly uses "$prefix$i" to form names rg1, rg2, rg3. Others use invalid concatenation or miss quotes.
Final Answer:
prefix=rg
for i in 1 2 3; do
az group create --name "$prefix$i" --location eastus
done -> Option B
Quick Check:
Use "$prefix$i" to join strings in bash [OK]
Hint: Use "$prefix$i" to join variable and number in bash [OK]
Common Mistakes:
Using + for string concat in bash
Not quoting variable expansions
Writing variable names without $ sign
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.