What does the '=' operator do in bash string comparisons?
The '=' operator checks if two strings are exactly equal. It returns true if they match.
Click to reveal answer
beginner
How do you check if two strings are NOT equal in bash?
Use the '!=' operator inside a test condition. It returns true if the strings differ.
Click to reveal answer
beginner
What does '-z' check in bash string tests?
The '-z' operator checks if a string is empty (zero length). It returns true if the string has no characters.
Click to reveal answer
beginner
What does '-n' check in bash string tests?
The '-n' operator checks if a string is not empty. It returns true if the string has one or more characters.
Click to reveal answer
beginner
Write a simple bash if statement to check if variable 'name' is empty.
if [ -z "$name" ]; then
echo "Name is empty"
fi
This uses '-z' to test if 'name' has zero length.
Click to reveal answer
Which operator checks if two strings are equal in bash?
A-z
B!=
C=
D-n
✗ Incorrect
The '=' operator tests if two strings are exactly equal.
What does the '-z' operator test for in bash?
AString is not empty
BString is empty
CStrings are equal
DStrings are not equal
✗ Incorrect
The '-z' operator returns true if the string length is zero (empty).
How do you test if two strings are NOT equal in bash?
A!=
B-n
C-z
D=
✗ Incorrect
The '!=' operator returns true if the strings differ.
Which operator returns true if a string is NOT empty?
A-n
B-z
C=
D!=
✗ Incorrect
The '-n' operator checks if a string has one or more characters.
What will this bash test return? [ -z "hello" ]
ATrue
BError
CDepends on shell
DFalse
✗ Incorrect
Since 'hello' is not empty, '-z' returns false.
Explain how to check if a string variable is empty or not in bash using string comparison operators.
Think about testing zero length strings.
You got /4 concepts.
Describe the difference between '=' and '!=' operators in bash string comparisons.
One checks if strings match, the other if they differ.
You got /4 concepts.
Practice
(1/5)
1. Which operator in bash scripting checks if two strings are equal?
easy
A. Using = inside double brackets [[ ]]
B. Using -z to check string length
C. Using != inside double brackets [[ ]]
D. Using -n to check if string is not empty
Solution
Step 1: Understand string equality operator
In bash, = inside [[ ]] compares if two strings are equal.
Step 2: Differentiate from other operators
-z checks if string is empty, != checks inequality, -n checks non-empty string.
Final Answer:
Using = inside double brackets [[ ]] -> Option A
Quick Check:
String equality = = [OK]
Hint: Use = inside [[ ]] to check if strings are equal [OK]
Common Mistakes:
Confusing = with -z or -n
Using = outside [[ ]] without quotes
Mixing != with = for equality
2. Which of the following is the correct syntax to check if a variable var is not empty in bash?
easy
A. [ -z "$var" ]
B. [ "$var" = "" ]
C. [ -n "$var" ]
D. [ $var != "" ]
Solution
Step 1: Understand -n operator
-n returns true if the string length is greater than zero (not empty).
Step 2: Check syntax correctness
Using quotes around $var prevents errors if variable is empty or contains spaces.
Final Answer:
[ -n "$var" ] -> Option C
Quick Check:
Not empty check = -n [OK]
Hint: Use [ -n "$var" ] to test if var is not empty [OK]
Common Mistakes:
Using -z instead of -n for not empty
Forgetting quotes around variable
Using = "" to check emptiness incorrectly
3. What will be the output of this bash script snippet?
var="hello"
if [[ "$var" != "world" ]]; then
echo "Not world"
else
echo "World"
fi
medium
A. Not world
B. World
C. Syntax error
D. No output
Solution
Step 1: Evaluate string comparison
Variable var is "hello", which is not equal to "world".
Step 2: Determine which branch runs
The condition [[ "$var" != "world" ]] is true, so it echoes "Not world".
Final Answer:
Not world -> Option A
Quick Check:
hello != world -> Not world [OK]
Hint: If strings differ, != condition is true [OK]
Common Mistakes:
Confusing = and != operators
Missing quotes causing syntax errors
Assuming else branch runs when condition is true
4. Identify the error in this bash snippet that checks if input is empty:
if [ -z $input ]; then
echo "Empty"
else
echo "Not empty"
fi
medium
A. Using -z instead of -n
B. Missing quotes around $input in test
C. Using single brackets instead of double brackets
D. No error, script is correct
Solution
Step 1: Check variable quoting in test
Variable $input is not quoted, which can cause errors if empty or contains spaces.
Step 2: Understand correct syntax
Quotes around $input like "$input" are needed to safely test emptiness.
Final Answer:
Missing quotes around $input in test -> Option B
Quick Check:
Always quote variables in tests [OK]
Hint: Always quote variables in [ ] tests to avoid errors [OK]
Common Mistakes:
Forgetting quotes around variables
Thinking -z and -n are interchangeable
Believing single brackets can't test strings
5. You want to write a bash script that prints "Empty string" if variable text is empty, and "Has content" otherwise. Which snippet correctly does this?
hard
A. if [ "$text" != "" ]; then echo "Empty string"; else echo "Has content"; fi
B. if [[ "$text" = "" ]]; then echo "Has content"; else echo "Empty string"; fi
C. if [ -n "$text" ]; then echo "Empty string"; else echo "Has content"; fi
D. if [[ -z "$text" ]]; then echo "Empty string"; else echo "Has content"; fi
Solution
Step 1: Understand -z usage
-z "$text" returns true if text is empty.
Step 2: Check echo outputs match condition
If empty, print "Empty string"; else print "Has content". if [[ -z "$text" ]]; then echo "Empty string"; else echo "Has content"; fi matches this logic correctly.
Final Answer:
if [[ -z "$text" ]]; then echo "Empty string"; else echo "Has content"; fi -> Option D
Quick Check:
-z empty -> print "Empty string" [OK]
Hint: Use if [[ -z "$var" ]] for empty string check [OK]
Common Mistakes:
Swapping outputs for empty and non-empty cases
Using = "" without quotes or wrong logic
Confusing -n and -z meanings
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.