Table of Contents

About

This article is about expansion in Bash.

An expansion is the replacement of a special token in your code by the result of the expansion during code execution.

It's performed on the command line after it has been split into words.

There are seven kinds of expansion performed:

Order

The order of expansions is:

  • brace expansion,
  • tilde expansion,
  • parameter expansion,
  • variable expansion
  • arithmetic expansion
  • and command substitution (done in a left-to-right fashion),
  • word splitting,
  • and pathname expansion.

On systems that can support it, there is an additional expansion available:

  • process substitution.

Word change

Expansions can be use to change the number of word (token) processed. See Word