We use variable assignment to store values in a name. This helps us reuse data easily in scripts.
When you want to save a user's input to use later.
When you need to keep a count or number that changes.
When you want to store a file name or path to use multiple times.
When you want to hold a command result to use in other commands.
When you want to set configuration options inside your script.
Syntax
Bash Scripting
variable_name=value
Do NOT put spaces around the = sign.
Variable names should start with a letter or underscore, and contain letters, numbers, or underscores.
Examples
Assigns the word John to the variable name.
Bash Scripting
name=John
Stores the number 10 in the variable count.
Bash Scripting
count=10
Saves a file path string in the variable path.
Bash Scripting
path=/home/user/docs
Assigns a string with spaces by using quotes.
Bash Scripting
greeting="Hello World"
Sample Program
This script assigns the name Alice to the variable name. Then it prints a greeting using that variable.
Bash Scripting
#!/bin/bash# Assign a value to a variable
name=Alice
# Use the variable
echo "Hello, $name!"
OutputSuccess
Important Notes
Remember: No spaces around the = sign. name = Alice will cause an error.
Use quotes if the value has spaces or special characters.
To use the variable value, prefix it with $, like $name.
Summary
Variable assignment stores data for reuse.
No spaces allowed around = in bash variable assignment.
Use $ to access the variable's value.
Practice
(1/5)
1. Which of the following is the correct way to assign the value hello to a variable named greet in bash?
easy
A. greet =hello
B. greet = hello
C. greet= hello
D. greet=hello
Solution
Step 1: Understand bash variable assignment rules
Bash does not allow spaces around the = sign when assigning variables.
Step 2: Check each option for spaces
Only greet=hello has no spaces around =. Options B, C, and D have spaces, which cause errors.
Final Answer:
greet=hello -> Option D
Quick Check:
No spaces around = means correct assignment [OK]
Hint: No spaces around = in bash variable assignment [OK]
Common Mistakes:
Adding spaces around = causes syntax errors
Using quotes unnecessarily in simple assignments
Trying to assign with spaces after =
2. Which of the following bash commands correctly assigns the value 42 to the variable num?
easy
A. num=42
B. num= 42
C. num =42
D. num = 42
Solution
Step 1: Identify spaces around the equal sign
Bash requires no spaces around the = sign for variable assignment.
Step 2: Verify each option
Only num=42 has no spaces around =. Others have spaces causing errors.
Final Answer:
num=42 -> Option A
Quick Check:
No spaces around = means correct syntax [OK]
Hint: Remember: no spaces around = in bash assignments [OK]
Common Mistakes:
Leaving spaces around = causes syntax errors
Confusing assignment with comparison operators
Using quotes unnecessarily for numbers
3. What will be the output of the following bash script?
name=John
echo $name
medium
A. name
B. Syntax error
C. John
D. $name
Solution
Step 1: Understand variable assignment and usage
The variable name is assigned the value John without spaces around =.
Step 2: Understand echo with variable
echo $name prints the value stored in name, which is John.
Final Answer:
John -> Option C
Quick Check:
Variable value printed, not variable name [OK]
Hint: Use $ before variable to print its value [OK]
Common Mistakes:
Printing variable name instead of value
Forgetting $ before variable in echo
Adding spaces around = causing errors
4. Identify the error in the following bash script:
count =10
echo $count
medium
A. Spaces around = cause syntax error
B. Missing $ in echo
C. Variable name is invalid
D. No error, script runs fine
Solution
Step 1: Check variable assignment syntax
The assignment count =10 has a space before =, which is not allowed in bash.
Step 2: Understand effect of spaces
Spaces around = cause bash to treat count as a command, leading to syntax error.
Final Answer:
Spaces around = cause syntax error -> Option A
Quick Check:
No spaces around = means valid assignment [OK]
Hint: No spaces around = in assignment to avoid errors [OK]
Common Mistakes:
Adding spaces around = in assignment
Forgetting $ when printing variable
Assuming variable names can have spaces
5. You want to store the current year in a variable year using the command date +%Y. Which of the following is the correct way to assign this output to year in bash?
hard
A. year = $(date +%Y)
B. year=$(date +%Y)
C. year= $(date +%Y)
D. year= '$(date +%Y)'
Solution
Step 1: Understand command substitution syntax
To assign command output, use $(command) without spaces around =.
Step 2: Check each option for spaces and quotes
year=$(date +%Y) has no spaces around = and uses correct command substitution syntax. Options A and C have spaces causing errors. year= '$(date +%Y)' uses quotes which are unnecessary and may cause literal assignment.
Final Answer:
year=$(date +%Y) -> Option B
Quick Check:
No spaces and correct command substitution [OK]
Hint: Use $(command) with no spaces around = for command output assignment [OK]
Common Mistakes:
Adding spaces around = causes errors
Using quotes around command substitution
Forgetting to use $( ) for command output
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.