0
0
Bash Scriptingscripting~20 mins

if-elif-else in Bash Scripting - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
If-Elif-Else Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
Output of a simple if-elif-else script
What is the output of this Bash script when run with argument 15?
Bash Scripting
#!/bin/bash
num=$1
if [ "$num" -lt 10 ]; then
  echo "Less than 10"
elif [ "$num" -lt 20 ]; then
  echo "Between 10 and 19"
else
  echo "20 or more"
fi
ALess than 10
BSyntax error
C20 or more
DBetween 10 and 19
Attempts:
2 left
💡 Hint
Check the numeric comparison operators and the order of conditions.
🔧 Debug
intermediate
2:00remaining
Identify the error in this if-elif-else script
What error will this Bash script produce when run?
Bash Scripting
#!/bin/bash
num=5
if [ $num < 10 ]; then
  echo "Less than 10"
elif [ $num < 20 ]; then
  echo "Between 10 and 19"
else
  echo "20 or more"
fi
ARuns correctly and prints 'Less than 10'
BSyntax error due to incorrect comparison operator
CRuntime error: command not found
DPrints '20 or more'
Attempts:
2 left
💡 Hint
Check the comparison operators used inside the test brackets.
🚀 Application
advanced
2:30remaining
Script to categorize a number with if-elif-else
Which script correctly categorizes a number into 'small' (less than 5), 'medium' (5 to 10), or 'large' (greater than 10)?
A
#!/bin/bash
num=$1
if [ "$num" -lt 5 ]; then
  echo "small"
elif [ "$num" -le 10 ]; then
  echo "medium"
else
  echo "large"
fi
B
#!/bin/bash
num=$1
if [ "$num" -le 5 ]; then
  echo "small"
elif [ "$num" -lt 10 ]; then
  echo "medium"
else
  echo "large"
fi
C
#!/bin/bash
num=$1
if [ "$num" -lt 5 ]; then
  echo "small"
elif [ "$num" -lt 10 ]; then
  echo "medium"
else
  echo "large"
fi
D
#!/bin/bash
num=$1
if [ "$num" -lt 5 ]; then
  echo "small"
elif [ "$num" -gt 10 ]; then
  echo "medium"
else
  echo "large"
fi
Attempts:
2 left
💡 Hint
Check the numeric ranges carefully and the operators used.
🧠 Conceptual
advanced
1:30remaining
Understanding else placement in if-elif-else
What happens if you omit the else block in an if-elif-else chain in Bash?
AThe script runs but always executes the last elif block
BThe script throws a syntax error
CThe script runs without errors and does nothing if no conditions match
DThe script runs but skips all conditions
Attempts:
2 left
💡 Hint
Think about what else does in a conditional chain.
💻 Command Output
expert
2:30remaining
Output of nested if-elif-else with multiple conditions
What is the output of this script when run with argument 0?
Bash Scripting
#!/bin/bash
num=$1
if [ "$num" -gt 0 ]; then
  if [ "$num" -lt 10 ]; then
    echo "Positive single digit"
  else
    echo "Positive double digit or more"
  fi
elif [ "$num" -eq 0 ]; then
  echo "Zero"
else
  echo "Negative number"
fi
AZero
BPositive single digit
CNegative number
DSyntax error
Attempts:
2 left
💡 Hint
Trace the conditions carefully for input zero.