Bird
Raised Fist0
Bash Scriptingscripting~20 mins

Brace expansion ({1..10}) in Bash Scripting - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Brace Expansion Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
1:00remaining
Output of simple brace expansion
What is the output of the following bash command?
echo {1..5}
Bash Scripting
echo {1..5}
A1,2,3,4,5
B{1..5}
C1 2 3 4 5 6
D1 2 3 4 5
Attempts:
2 left
💡 Hint
Brace expansion generates a sequence of numbers separated by spaces.
💻 Command Output
intermediate
1:00remaining
Brace expansion with step value
What is the output of this bash command?
echo {1..10..3}
Bash Scripting
echo {1..10..3}
A1 4 7
B1 4 7 10
C1 3 6 9
D1 2 3 4 5 6 7 8 9 10
Attempts:
2 left
💡 Hint
The third number in brace expansion is the step size.
📝 Syntax
advanced
1:30remaining
Identify invalid brace expansion syntax
Which of the following is NOT a valid brace expansion in bash?
Aecho {5..1}
Becho {1..10..2}
Cecho {1..10..0}
Decho {a..z}
Attempts:
2 left
💡 Hint
Step value cannot be zero in brace expansion.
💻 Command Output
advanced
1:30remaining
Output of nested brace expansion
What is the output of this bash command?
echo file{1..3}_{a..b}.txt
Bash Scripting
echo file{1..3}_{a..b}.txt
Afile1_a.txt file1_b.txt file2_a.txt file2_b.txt file3_a.txt file3_b.txt
Bfile1_a.txt file2_b.txt file3_a.txt
Cfile{1..3}_{a..b}.txt
Dfile1_a.txt file1_b.txt file2_a.txt file3_b.txt
Attempts:
2 left
💡 Hint
Brace expansions combine all possible pairs from each set.
🚀 Application
expert
2:00remaining
Count files created by brace expansion
If you run this command:
touch log_{01..10}_{a..c}.txt

How many files will be created?
Bash Scripting
touch log_{01..10}_{a..c}.txt
A30
B33
C20
D13
Attempts:
2 left
💡 Hint
Multiply the count of numbers by the count of letters.

Practice

(1/5)
1. What does the Bash brace expansion {1..5} produce when used in a command?
easy
A. A sequence of numbers: 1 2 3 4 5
B. A sequence of letters: a b c d e
C. A syntax error
D. A single string: {1..5}

Solution

  1. Step 1: Understand brace expansion syntax

    The syntax {start..end} generates a sequence of numbers or letters from start to end.
  2. Step 2: Apply to numbers 1 to 5

    Using {1..5} produces the numbers 1, 2, 3, 4, 5 separated by spaces.
  3. Final Answer:

    A sequence of numbers: 1 2 3 4 5 -> Option A
  4. Quick Check:

    Brace expansion {1..5} = 1 2 3 4 5 [OK]
Hint: Brace expansion {x..y} lists numbers or letters from x to y [OK]
Common Mistakes:
  • Thinking it outputs letters for numbers
  • Expecting a syntax error
  • Assuming it outputs the literal string
2. Which of the following is the correct syntax to generate numbers from 3 to 7 using brace expansion in Bash?
easy
A. echo [3..7]
B. echo {3-7}
C. echo (3..7)
D. echo {3..7}

Solution

  1. Step 1: Recall correct brace expansion syntax

    Brace expansion uses curly braces with two dots: {start..end}.
  2. Step 2: Check each option

    Only echo {3..7} uses correct braces and dots. Others use wrong symbols like parentheses, brackets, or hyphens.
  3. Final Answer:

    echo {3..7} -> Option D
  4. Quick Check:

    Correct syntax uses curly braces and two dots [OK]
Hint: Use curly braces and two dots for sequences {start..end} [OK]
Common Mistakes:
  • Using parentheses or brackets instead of braces
  • Using a hyphen instead of two dots
  • Missing braces entirely
3. What is the output of the following Bash command?
echo file{1..3}.txt
medium
A. file1.txt file2.txt file3.txt
B. file{1..3}.txt
C. file1 file2 file3.txt
D. file1.txt file2.txt file3

Solution

  1. Step 1: Understand brace expansion with suffix

    The brace expansion {1..3} generates 1 2 3, and the suffix .txt is added to each.
  2. Step 2: Combine parts

    Each expanded number is combined with 'file' prefix and '.txt' suffix, producing: file1.txt file2.txt file3.txt.
  3. Final Answer:

    file1.txt file2.txt file3.txt -> Option A
  4. Quick Check:

    Brace expansion with suffix repeats suffix for each number [OK]
Hint: Brace expansion repeats suffix/prefix for each number [OK]
Common Mistakes:
  • Expecting literal braces in output
  • Missing suffix on some items
  • Mixing suffix placement
4. Identify the error in this Bash command:
echo {1..5..2}
medium
A. Outputs 1 2 3 4 5
B. Syntax error: too many dots
C. No error; outputs 1 3 5
D. Outputs nothing

Solution

  1. Step 1: Understand brace expansion with step

    The syntax {start..end..step} is valid in Bash to generate sequences with a step.
  2. Step 2: Apply to {1..5..2}

    This generates numbers starting at 1, stepping by 2, up to 5: 1, 3, 5.
  3. Final Answer:

    No error; outputs 1 3 5 -> Option C
  4. Quick Check:

    Brace expansion supports step with two dots between numbers [OK]
Hint: Brace expansion can include step: {start..end..step} [OK]
Common Mistakes:
  • Thinking extra dots cause syntax error
  • Expecting continuous sequence ignoring step
  • Assuming no output for step usage
5. You want to create empty files named log1.txt through log10.txt using a single Bash command with brace expansion. Which command achieves this?
hard
A. touch log{1..10}
B. touch log{1..10}.txt
C. touch log{1..10}.txt.txt
D. touch log{1..10.txt}

Solution

  1. Step 1: Understand the goal

    You want files named log1.txt, log2.txt, ..., log10.txt created.
  2. Step 2: Use brace expansion with suffix

    The correct syntax is touch log{1..10}.txt, which expands to log1.txt, log2.txt, ..., log10.txt.
  3. Step 3: Check other options

    touch log{1..10} omits the .txt suffix; touch log{1..10.txt} has invalid syntax with .txt inside braces; touch log{1..10}.txt.txt adds an extra .txt to each filename.
  4. Final Answer:

    touch log{1..10}.txt -> Option B
  5. Quick Check:

    Brace expansion with suffix creates all files at once [OK]
Hint: Use touch with brace expansion and suffix: touch name{1..n}.ext [OK]
Common Mistakes:
  • Placing suffix inside braces incorrectly
  • Adding extra suffixes
  • Omitting suffix leading to wrong filenames
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