Bird
Raised Fist0
Bash Scriptingscripting~5 mins

if-elif-else in Bash Scripting - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the if statement in bash scripting?
The if statement lets the script make decisions by running commands only if a condition is true.
Click to reveal answer
beginner
How do you write an elif branch in bash scripting?
Use elif [ condition ]; then to check another condition if the first if was false.
Click to reveal answer
beginner
What does the else block do in an if-elif-else structure?
The else block runs commands when all previous if and elif conditions are false.
Click to reveal answer
intermediate
Write a simple bash if-elif-else structure to check if a number is positive, negative, or zero.
Example:
if [ "$num" -gt 0 ]; then
  echo "Positive"
elif [ "$num" -lt 0 ]; then
  echo "Negative"
else
  echo "Zero"
fi
Click to reveal answer
beginner
Why do you need to use fi in bash scripts?
Because fi marks the end of an if block, telling the shell where the conditional ends.
Click to reveal answer
In bash scripting, which keyword starts an alternative condition after if?
Aelif
Belse
Cendif
Delseif
What symbol ends an if block in bash?
Aend
Bdone
Cfi
Dstop
What happens if all if and elif conditions are false and there is no else block?
AThe script restarts
BThe script runs the last <code>elif</code> block
CThe script throws an error
DNo commands inside the <code>if</code> structure run
Which of these is the correct syntax for an if condition in bash?
Aif (condition) { }
Bif [ condition ]; then
Cif condition then
Dif { condition }
What does the else block do in an if-elif-else statement?
ARuns if all previous conditions are false
BEnds the script
CRuns only if <code>elif</code> is true
DRuns if the first <code>if</code> is true
Explain how an if-elif-else structure works in bash scripting.
Think about how you decide between multiple choices in real life.
You got /4 concepts.
    Write a bash script snippet using if-elif-else to check if a variable is equal to 'yes', 'no', or something else.
    Use square brackets and remember to close with fi.
    You got /4 concepts.

      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