Bird
Raised Fist0
Bash Scriptingscripting~10 mins

if-elif-else in Bash Scripting - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to check if the variable 'num' is equal to 10.

Bash Scripting
if [ $num [1] 10 ]; then
  echo "Number is ten"
fi
Drag options to blanks, or click blank then click option'
A==
B=
C!=
D-eq
Attempts:
3 left
💡 Hint
Common Mistakes
Using '=' or '==' which are for strings, not numbers.
Forgetting spaces around brackets and operators.
2fill in blank
medium

Complete the code to add an elif branch that checks if 'num' is greater than 10.

Bash Scripting
if [ $num -eq 10 ]; then
  echo "Number is ten"
elif [ $num [1] 10 ]; then
  echo "Number is greater than ten"
fi
Drag options to blanks, or click blank then click option'
A-gt
B-lt
C-eq
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using '-lt' which means 'less than'.
Using '==' which is for strings, not numbers.
3fill in blank
hard

Fix the error in the else branch syntax.

Bash Scripting
if [ $num -eq 10 ]; then
  echo "Number is ten"
elif [ $num -gt 10 ]; then
  echo "Number is greater than ten"
[1]
  echo "Number is less than ten"
fi
Drag options to blanks, or click blank then click option'
Aelse
Belif
Cthen
Dfi
Attempts:
3 left
💡 Hint
Common Mistakes
Writing 'elif' without a condition.
Using 'then' alone without 'else'.
4fill in blank
hard

Fill both blanks to correctly compare a string variable 'color' with 'red' and 'blue'.

Bash Scripting
if [ "$color" [1] "red" ]; then
  echo "Color is red"
elif [ "$color" [2] "blue" ]; then
  echo "Color is blue"
else
  echo "Color is something else"
fi
Drag options to blanks, or click blank then click option'
A=
B!=
C==
D-eq
Attempts:
3 left
💡 Hint
Common Mistakes
Using '-eq' which is for numbers.
Using '!=' when checking for equality.
5fill in blank
hard

Fill all three blanks to create a nested if-elif-else that checks if 'score' is above 90, above 75, or else.

Bash Scripting
if [ $score [1] 90 ]; then
  echo "Grade A"
elif [ $score [2] 75 ]; then
  echo "Grade B"
[3]
  echo "Grade C"
fi
Drag options to blanks, or click blank then click option'
A-gt
B-ge
Celse
D-lt
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'else' with a condition.
Mixing string and numeric operators.

Practice

(1/5)
1. What does the if-elif-else structure do in a Bash script?
easy
A. It repeats a set of commands multiple times.
B. It comments out lines of code.
C. It defines a function to reuse code.
D. It lets the script choose between multiple actions based on conditions.

Solution

  1. Step 1: Understand the purpose of if-elif-else

    The if-elif-else structure checks conditions one by one and runs the matching block.
  2. Step 2: Compare with other options

    Loops repeat commands, functions reuse code, comments disable code lines. Only if-elif-else chooses actions.
  3. Final Answer:

    It lets the script choose between multiple actions based on conditions. -> Option D
  4. Quick Check:

    if-elif-else = choose actions [OK]
Hint: If you want choices, use if-elif-else [OK]
Common Mistakes:
  • Confusing if-elif-else with loops
  • Thinking it defines functions
  • Mixing it up with comments
2. Which of the following is the correct syntax to start an if-elif-else block in Bash?
easy
A. if [ condition ]; then
B. if (condition) {
C. if condition then
D. if condition:

Solution

  1. Step 1: Recall Bash if syntax

    Bash requires square brackets around conditions and 'then' after the condition, with semicolons or newlines.
  2. Step 2: Check each option

    if [ condition ]; then uses correct syntax: if [ condition ]; then. Others use wrong brackets or missing keywords.
  3. Final Answer:

    if [ condition ]; then -> Option A
  4. Quick Check:

    Correct if syntax = if [ condition ]; then [OK]
Hint: Use brackets and 'then' with semicolon or newline [OK]
Common Mistakes:
  • Omitting brackets around condition
  • Using parentheses instead of brackets
  • Missing 'then' keyword
3. What will be the output of this script?
#!/bin/bash
num=7
if [ $num -lt 5 ]; then
  echo "Less than 5"
elif [ $num -eq 7 ]; then
  echo "Equal to 7"
else
  echo "Other"
fi
medium
A. Less than 5
B. Equal to 7
C. Other
D. Syntax Error

Solution

  1. Step 1: Check the value of num and conditions

    num=7. First condition checks if num < 5 (false). Second checks if num == 7 (true).
  2. Step 2: Determine which block runs

    Since second condition is true, it prints "Equal to 7" and skips else.
  3. Final Answer:

    Equal to 7 -> Option B
  4. Quick Check:

    num=7 matches elif condition [OK]
Hint: Check conditions top to bottom, first true runs [OK]
Common Mistakes:
  • Assuming first condition runs
  • Confusing -lt and -eq operators
  • Missing fi causes syntax error
4. Identify the error in this Bash script snippet:
if [ $value -gt 10 ]
  echo "Greater than 10"
elif [ $value -eq 10 ]; then
  echo "Equal to 10"
else
  echo "Less than 10"
fi
medium
A. Missing fi at the end
B. Incorrect use of elif keyword
C. Missing 'then' after first if condition
D. Wrong comparison operator

Solution

  1. Step 1: Check syntax after if condition

    In Bash, 'then' must follow the if condition, either on same line after semicolon or next line.
  2. Step 2: Verify other parts

    elif has 'then', fi is present, operators are correct. Only missing 'then' after if.
  3. Final Answer:

    Missing 'then' after first if condition -> Option C
  4. Quick Check:

    if needs 'then' keyword [OK]
Hint: Always put 'then' after if condition [OK]
Common Mistakes:
  • Forgetting 'then' after if
  • Misplacing semicolons
  • Confusing elif syntax
5. You want a script to print "Positive", "Zero", or "Negative" based on a variable num. Which script correctly uses if-elif-else to do this?
hard
A. #!/bin/bash if [ $num -gt 0 ]; then echo "Positive" elif [ $num -eq 0 ]; then echo "Zero" else echo "Negative" fi
B. #!/bin/bash if [ $num > 0 ]; then echo "Positive" elif [ $num == 0 ]; then echo "Zero" else echo "Negative" fi
C. #!/bin/bash if $num > 0 then echo "Positive" elif $num == 0 then echo "Zero" else echo "Negative" fi
D. #!/bin/bash if [ $num -ge 0 ]; then echo "Positive" elif [ $num -eq 0 ]; then echo "Zero" else echo "Negative" fi

Solution

  1. Step 1: Check comparison operators

    Bash uses -gt, -eq, -lt for numeric comparisons. #!/bin/bash if [ $num -gt 0 ]; then echo "Positive" elif [ $num -eq 0 ]; then echo "Zero" else echo "Negative" fi uses correct operators.
  2. Step 2: Verify logic and syntax

    #!/bin/bash if [ $num -gt 0 ]; then echo "Positive" elif [ $num -eq 0 ]; then echo "Zero" else echo "Negative" fi correctly checks >0, ==0, else negative. Others use wrong operators or syntax.
  3. Final Answer:

    A -> Option A
  4. Quick Check:

    Use -gt, -eq for numbers in if-elif-else [OK]
Hint: Use -gt, -eq for numbers; avoid > or == in [ ] [OK]
Common Mistakes:
  • Using > or == inside [ ]
  • Missing then keyword
  • Wrong operator for numeric comparison
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard