📖 Scenario: You are writing a simple bash script to manage temporary data. Sometimes, you need to clear variables to free up space or avoid confusion later in the script.
🎯 Goal: Learn how to create variables, unset them using the unset command, and verify that they are removed.
📋 What You'll Learn
Create variables with exact names and values
Use a helper variable to track a variable name
Use the unset command to remove a variable
Print the variable value before and after unsetting to confirm removal
💡 Why This Matters
🌍 Real World
In bash scripting, unsetting variables helps free memory and avoid accidental use of old data during script execution.
💼 Career
Knowing how to manage variables and clean up in scripts is essential for system administrators, DevOps engineers, and automation specialists.
Progress0 / 4 steps
1
Create variables with values
Create two variables called temp1 and temp2 with values "data1" and "data2" respectively.
Bash Scripting
Hint
Use the syntax variable_name="value" to create variables.
2
Create a helper variable to hold variable name
Create a variable called var_to_unset and set it to the string "temp1".
Bash Scripting
Hint
Assign the string "temp1" to var_to_unset using =.
3
Unset the variable using unset command
Use the unset command with the variable name stored in var_to_unset to remove the variable temp1.
Bash Scripting
Hint
Use unset "$var_to_unset" to unset the variable whose name is stored in var_to_unset.
4
Print variable values before and after unsetting
Print the value of temp1 before unsetting, then print it again after unsetting to show it is removed. Use echo commands.
Bash Scripting
Hint
Use echo "Before unset: $temp1" before unsetting and echo "After unset: $temp1" after unsetting.
Practice
(1/5)
1. What does the unset command do in a bash script?
easy
A. It removes a variable from the environment, making it undefined.
B. It sets a variable to an empty string but keeps it defined.
C. It prints the value of a variable to the terminal.
D. It creates a new variable with a default value.
Solution
Step 1: Understand the purpose of unset
The unset command removes a variable completely from the shell environment, so it no longer exists.
Step 2: Compare with other options
Setting a variable to empty string keeps it defined, printing shows value, creating new variable is unrelated.
Final Answer:
It removes a variable from the environment, making it undefined. -> Option A
Quick Check:
unset removes variable = A [OK]
Hint: Unset deletes variable completely, not just empties it [OK]
Common Mistakes:
Thinking unset sets variable to empty string
Confusing unset with echo or print commands
Assuming unset creates variables
2. Which of the following is the correct syntax to unset a variable named myVar in bash?
easy
A. unset =myVar
B. unset myVar
C. unset(myVar)
D. unset:myVar
Solution
Step 1: Recall the syntax of unset command
The correct syntax is simply unset variable_name without any symbols or parentheses.
Step 2: Check each option
unset myVar matches the correct syntax. Options B, C, and D use invalid characters or formats.
Final Answer:
unset myVar -> Option B
Quick Check:
Correct unset syntax = A [OK]
Hint: Use 'unset variableName' without symbols or parentheses [OK]
Common Mistakes:
Adding equal signs or parentheses
Using colons or other separators
Confusing unset syntax with function calls
3. What will be the output of this bash script?
myVar="Hello"
echo $myVar
unset myVar
echo $myVar
medium
A. Hello
B. Hello
Hello
C. olleH
D. Error: variable not found
Solution
Step 1: Analyze the first echo command
Variable myVar is set to "Hello", so echo $myVar prints "Hello".
Step 2: Understand effect of unset and second echo
After unset myVar, the variable is removed. The second echo $myVar prints nothing (empty line).
Final Answer:
Hello
-> Option A
Quick Check:
Unset removes variable, so second echo is empty [OK]
Hint: Unset clears variable, so echo after unset prints nothing [OK]
Common Mistakes:
Expecting echo to print old value after unset
Thinking unset causes error on echo
Confusing unset with setting empty string
4. Identify the error in this script snippet:
unset $myVar
medium
A. No error; script works fine.
B. unset command requires quotes around variable name.
C. Variable name must be uppercase for unset.
D. Using $ before variable name in unset causes error.
Solution
Step 1: Understand how unset expects variable names
The unset command expects the variable name without the $ sign, which is used for expansion.
Step 2: Analyze the given command
Using unset $myVar expands $myVar to its value, causing unset to try to remove a variable named as that value, which is incorrect.
Final Answer:
Using $ before variable name in unset causes error. -> Option D
Quick Check:
unset needs variable name, no $ [OK]
Hint: Never use $ with variable name in unset command [OK]
Common Mistakes:
Adding $ before variable name in unset
Quoting variable name unnecessarily
Assuming variable case matters for unset
5. You have a script that sets multiple variables:
var1="one"
var2="two"
var3="three"
You want to unset only variables that start with var and end with an odd number (1 or 3). Which command correctly unsets these variables?
hard
A. unset var1 var2 var3
B. unset var2 var3
C. unset var1 var3
D. unset var2
Solution
Step 1: Identify variables starting with 'var' and ending with odd numbers
Variables are var1, var2, var3. var1 ends with 1 (odd), var3 ends with 3 (odd), var2 ends with 2 (even).
Step 2: Select variables to unset
Only var1 and var3 match the pattern, so the command should unset these two.
Final Answer:
unset var1 var3 -> Option C
Quick Check:
Unset only odd-ending vars = A [OK]
Hint: Unset only variables matching pattern explicitly [OK]
Common Mistakes:
Unsetting all variables instead of selective ones
Confusing odd and even numbers
Using unset with variable values instead of names
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.