Explaining Brace Expansion in Bash

The aim of this page📝 is to delve into brace expansion in bash, exploring its history, functionality, and usage in various commands.

Pavol Kutaj
1 min readFeb 22, 2024

History of Brace Expansion

  • Brace expansion was introduced in the Bourne Shell and later adopted by Bash.
  • It allows for generating arbitrary strings based on patterns without external commands.

Functionality of Brace Expansion

  • Brace expansion is a shell feature that generates multiple strings from a specified pattern enclosed in curly braces {}.
  • It is not the same as globbing but is useful for creating lists of strings efficiently.

Usage of Brace Expansion

  • Generating sequences of strings:
echo {1..5}
# 1 2 3 4 5
  • Creating combinations/cartesian product of strings:
echo {apples,bananas,oranges}_{ripe,unripe}.jpg
# apples_ripe.jpg apples_unripe.jpg bananas_ripe.jpg bananas_unripe.jpg oranges_ripe.jpg oranges_unripe.jpg
  • Enumerating options:
cp file{a,b,c}.txt destination/

Benefits of Brace Expansion

  • Provides a concise way to generate multiple strings without the need for loops or external commands.
  • Useful for tasks like file copying, string manipulation, and generating sequences.

--

--

No responses yet